PraisonAI agent framework + multi-tenant Platform: 19-advisory audit dump at 22:30 UTC β unauth `eval()` execution, sandbox escape, `deploy --type api` ships with auth disabled, hardcoded `dev-secret-change-me` JWT key in production
Coordinated 19-advisory audit dump lands against PraisonAI (the open-source LLM agent framework) and its multi-tenant Platform API between 22:00 and 23:05 UTC. Ten advisories hit the core framework, nine hit Platform; seven are CVSS-equivalent critical. GHSA-vg22 (critical): the *official* A2A example exposes an unauthenticated endpoint that reaches LLM-driven `eval()` tool execution β a model can be prompt-injected into shelling out on the host. GHSA-4mr5: sandbox escape via `print.__self__` builtins module leak in `execute_code` subprocess mode β the standard Python `__self__` backdoor that PyPI-sandbox authors keep rediscovering. GHSA-8444: `praisonai deploy --type api` emits a Flask server with authentication disabled by default; anyone who ran the documented quickstart command and exposed the result is unauthenticated-RCE. GHSA-86qc: call server exposes unauthenticated agent listing, invocation, and deletion when `CALL_SERVER_TOKEN` is unset β same default-no-auth-and-no-warning pattern. GHSA-78r8: arbitrary code execution via unguarded `spec.loader.exec_module` in `agents_generator.py`, explicitly noted as a sibling of CVE-2026-44334 (so the prior fix was incomplete). On the Platform side, GHSA-3qg8 ships a hardcoded JWT signing key (`"dev-secret-change-me"`) that's used in production whenever `PLATFORM_ENV` is unset β token forgery for any user, anywhere. GHSA-h8q5 and GHSA-c2m8 are cross-workspace IDOR + member-role privilege escalation: any workspace member can promote themselves or anyone else to owner via `PATCH /workspaces/{id}/members/{user_id}`. The remaining items are auth-bypass / cross-workspace IDOR variants on label, dependency, member, and activity-log endpoints. **Operational read:** this is the agent-framework equivalent of the vm2 mass-disclosure earlier today β a project that many teams adopted as the fast path to shipping LLM agents turns out to have shipped with eval(), no auth, and dev secrets in production. If you deployed PraisonAI via the documented `deploy --type api` command, your endpoint is almost certainly unauthenticated right now. Take it offline tonight, rotate any JWTs issued by a Platform instance with `PLATFORM_ENV` unset, and grep your tenant for any `"dev-secret-change-me"` literal.