← All advisories
CVE-2026-57147criticalBroken access control2026-09-15

CVE-2026-57147: praisonai-platform signs logins with the public secret dev-secret-change-me

praisonai-platform 0.1.4 and earlier fall back to the hardcoded JWT secret dev-secret-change-me when PLATFORM_JWT_SECRET is unset, and the production guard is off because PLATFORM_ENV defaults to dev. Anyone can forge a token and act as any user or workspace owner. Fixed in 0.1.6.

01.

What it is

praisonai_platform/services/auth_service.py assigns the public value dev-secret-change-me to JWT_SECRET when PLATFORM_JWT_SECRET isn't set. The production guard doesn't run when PLATFORM_ENV is also unset, because it defaults to dev.

A remote unauthenticated attacker can mint an HS256 token with any sub and email, and AuthService._verify_token() and the get_current_user dependency accept it on protected API routes, which allows user or workspace-owner impersonation.

CVE-2026-57148 (GHSA-f38v-77qj-h4jq) covers the same default-open guard in 0.1.4 and is fixed in the same release.

02.

How to check

  1. Affected: praisonai-platform (PyPI) 0.1.4 and earlier.
  2. Check whether PLATFORM_JWT_SECRET is set to a long random value in your deployment.
03.

How to fix

  1. Upgrade praisonai-platform to 0.1.6 or later.
  2. Set PLATFORM_JWT_SECRET to a strong random value and PLATFORM_ENV=production, which also invalidates any tokens signed with the default secret.
pip show praisonai-platform | grep -i version
04.

Sources

More advisories for this tool
The weekly email

One email a week. Only what changed.

New advisories, CVEs and fixes for Lovable, Bolt, v0, Replit, Base44 and Cursor apps. No roundups of things you already read.

Free. The list is new, so the first issues go out once there are readers. Unsubscribe from any email in one click. We never sell or share addresses.