CSIRTS // UNIFIED SECURITY ADVISORY FEEDSYS ● ONLINE · POWERED BY INTELFUSIONS.COM

CVE-2026-57147

criticalCVSS 9.8covered by 1 sourcefirst seen 2026-06-18
praisonai-platform: default JWT signing secret dev-secret-change-me Researcher: Kai Aizen — SnailSploit (@SnailSploit), Adversarial & Offensive Security Research Target: https://github.com/MervinPraison/PraisonAI Package: praisonai-platform on PyPI Latest version (and version tested): 0.1.4, current as of 2026-06-01. File: praisonai_platform/services/auth_service.py (sha256 cc29d43c5412da2c73c818859b8d8b146587842999b777336017ab9d9e509258). Weakness: CWE-798 Use of Hardcoded Credentials + CWE-1188 Insecure Default Initialization of Resource. TL;DR praisonai_platform/services/auth_service.py lines 25-37: _DEFAULT_SECRET = "dev-secret-change-me" JWT_SECRET = os.environ.get("PLATFORM_JWT_SECRET", _DEFAULT_SECRET) JWT_ALGORITHM = "HS256" JWT_TTL_SECONDS = int(os.environ.get("PLATFORM_JWT_TTL", str(30 * 24 * 3600))) if JWT_SECRET == _DEFAULT_SECRET and os.environ.get("PLATFORM_ENV", "dev") != "dev": raise RuntimeError( "PLATFORM_JWT_SECRET must be set to a strong random value in production. " "Set PLATFORM_ENV=dev to suppress this check during development." ) The guard at line 33 is meant to catch the "deployed to production with the default secret" failure mode. But it only fires when both: - the operator left PLATFORM_JWT_SECRET unset (so JWT_SECRET is the default literal), and - the operator explicitly set PLATFORM_ENV to something other than "dev". If the operator left both env vars unset — the most common mis-deploy — PLATFORM_ENV falls back to "dev", the second leg of the and evaluates False, and the guard does NOT fire. The server starts up signing every JWT with the public string 'dev-secret-change-me'. The fix is to invert the polarity: refuse startup when the secret is the default regardless of PLATFORM_ENV, except when an explicit PLATFORM_ALLOW_DEV_SECRET=true (or equivalent) flag is set. That flips "default-allow" to "default-deny", which is what the line-33 comment implies the author wanted. Root cause Expected behavior, reading line 33 of auth_s

⚡ Watch CVE-2026-57147

Get an email if CVE-2026-57147 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.

Advisory coverage (1)

External references

NVD record for CVE-2026-57147

CVE.org record

Embed the live status

CVE-2026-57147 live status badge — this badge updates automatically when the KEV or exploit status changes. How to embed it →

[![CVE-2026-57147 status](https://www.csirts.com/badge/CVE-2026-57147)](https://www.csirts.com/cve/CVE-2026-57147)