Executive brief
PraisonAI is a platform for managing and deploying AI agents. A security flaw in its authentication system allows anyone to create valid login tokens because the software uses a publicly known "secret" key by default. An attacker can use this to impersonate any user, including administrators, gaining full access to workspaces, projects, and sensitive data without needing a password.
Technical details
The `auth_service.py` component uses a hardcoded default value for `PLATFORM_JWT_SECRET`. While a startup guard exists to prevent the use of this default secret in production, the logic is flawed: it only triggers if `PLATFORM_ENV` is explicitly set to something other than 'dev'. Because `PLATFORM_ENV` itself defaults to 'dev' when unset, standard deployments remain vulnerable. An unauthenticated remote attacker can forge HS256-signed JWTs using the known secret to impersonate any user ID or email, bypassing all `get_current_user` protected routes. This allows full unauthorized access to workspaces, agents, and platform metadata.
Affected products
- MervinPraison praisonai-platform <= 0.1.4
Timeline
- 2026-06-01: other: Vulnerability confirmed in version 0.1.4
- 2026-06-17: disclosed
- 2026-06-18: advisory