praisonai-platform: default JWT signing secret 'dev-secret-change-me' enables token forgery
48Vexday Risk Score
No sign of exploitation. It has a public proof of concept.
ssvc Attendcvss 9.8epss 0.8%
exploitation probability
0.8%top 46% of all CVEs
observed exploitation
nono source reports it
1 public exploit(s)
PraisonAI is a multi-agent teams system. Prior to 0.1.6, praisonai_platform/services/auth_service.py assigns the public dev-secret-change-me value to JWT_SECRET when PLATFORM_JWT_SECRET is unset, and its production guard does not run when PLATFORM_ENV is also unset because that setting defaults to dev. A remote unauthenticated attacker can mint an HS256 token with an arbitrary sub and email, and the platform's AuthService._verify_token() and get_current_user dependency accept the forged identity for protected API routes. This vulnerability is fixed in praisonai-platform 0.1.6.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
public PoCs found — 1
cve_referencewww.youtube.com/watch?v=bDSRHAI28BY&list=RDhqGkrTbgU2c&index=8unverified⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.
References
https://github.com/MervinPraison/PraisonAI/commit/e0fb8e7dd1ee6759c18ed07f436c21dbd9c20747https://github.com/MervinPraison/PraisonAI/pull/1793https://github.com/MervinPraison/PraisonAI/releases/tag/v4.6.51https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-cwj8-7gp2-ggcwhttps://www.youtube.com/watch?v=bDSRHAI28BY&list=RDhqGkrTbgU2c&index=8