PraisonAI flaws allowed auth bypass and second-order SQL injection
PraisonAI, a multi-agent teams platform, disclosed two high-severity vulnerabilities affecting versions before 4.5.97 and 4.5.90. The more severe issue, tracked as CVE-2026-34953, stems from OAuthManager.validate_token() returning True for tokens missing from its internal store, which is empty by default. That logic flaw lets attackers present arbitrary Bearer tokens to authenticate to the MCP server and gain full access to registered tools and agent capabilities. The vulnerability was classified as CWE-863 with a CVSS v3.1 vector of AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N.
A second flaw, CVE-2026-34934, exposed PraisonAI to second-order SQL injection through get_all_user_threads. In affected versions before 4.5.90, the function constructed raw SQL queries with Python f-strings using unescaped thread IDs previously stored in the database, allowing an attacker to plant a malicious thread ID via update_thread and trigger injection when thread lists were loaded. The bug could lead to full database compromise and was classified as CWE-89 with a CVSS v3.1 vector of AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H; both issues were addressed in patched releases published through GitHub Security Advisories.

Get ahead of threats like this
Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
How this story unfolded
8 events from the most recent confirmed update back to the earliest known activity.
GitHub advisory discloses CVE-2026-34954 SSRF flaw
A GitHub Security Advisory disclosed CVE-2026-34954 on April 3, 2026, describing a server-side request forgery vulnerability in FileTools.download_file() in praisonaiagents before version 1.5.95. The flaw stemmed from unvalidated URLs being passed to httpx.stream() with redirects enabled, potentially allowing access to internal services and cloud metadata endpoints, and was patched in version 1.5.95.
PraisonAI fixes Python sandbox escape in version 1.5.90
PraisonAI patched CVE-2026-34938, a Python sandbox escape in execute_code(), in version 1.5.90. The flaw affected praisonai-agents versions prior to 1.5.90 and allowed attacker-controlled code to bypass sandbox protections via a str subclass overriding startswith(), potentially leading to arbitrary OS command execution on the host.
GitHub advisory discloses CVE-2026-34952
A GitHub security advisory recorded CVE-2026-34952 on April 3, 2026, describing a missing authentication flaw in the PraisonAI Gateway server prior to version 4.5.97. The issue allowed unauthenticated network clients to access the /ws WebSocket and /info endpoints to enumerate agents and send arbitrary messages to agents and their tool sets.
GitHub advisory publishes CVE-2026-34953
GitHub Security Advisories newly received CVE-2026-34953 on April 3, 2026, documenting an authentication bypass in PraisonAI. The flaw was classified as CWE-863 and could give unauthenticated attackers full access to registered tools and agent capabilities via the MCP server.
PraisonAI fixes OAuth authentication bypass in version 4.5.97
PraisonAI patched an authentication bypass vulnerability in OAuthManager.validate_token() in version 4.5.97. The issue affected versions prior to 4.5.97 and allowed arbitrary Bearer tokens to authenticate to the MCP server because unknown tokens were incorrectly accepted when the internal token store was empty by default.
PraisonAI fixes OS command injection in version 4.5.69
PraisonAI patched CVE-2026-34935, an OS command injection flaw in MCPHandler.parse_mcp_command(), in version 4.5.69. The issue affected versions 4.5.15 through 4.5.68 and could allow arbitrary command execution via unsafe handling of the --mcp CLI argument.
GitHub advisory discloses CVE-2026-34934
A GitHub security advisory disclosed CVE-2026-34934 on April 3, 2026, describing a second-order SQL injection issue in PraisonAI. The vulnerability was classified as CWE-89 and assigned a high-severity CVSS v3.1 score vector of AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
PraisonAI fixes SQL injection flaw in version 4.5.90
PraisonAI patched a second-order SQL injection vulnerability in get_all_user_threads in version 4.5.90. The flaw affected versions prior to 4.5.90 and could allow an attacker to store a malicious thread ID and later trigger SQL injection for potential full database access.
Related entities
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
Sources
6 references tracked. Mallory keeps watching after this page renders.
CVE-2026-34953 - PraisonAI: Authentication Bypass in OAuthManager.validate_token()
cvefeed.io
Open sourceCVE-2026-34934 - PraisonAI: Second-Order SQL Injection in `get_all_user_threads`
cvefeed.io
Open sourceCVE-2026-34935 - PraisonAI: OS Command Injection in MCPHandler.parse_mcp_command()
cvefeed.io
Open sourceCVE-2026-34954 - PraisonAI: SSRF in FileTools.download_file() via Unvalidated URL
cvefeed.io
Open sourceCVE-2026-34952 - PraisonAI: Missing Authentication in WebSocket Gateway
cvefeed.io
Open sourceCVE-2026-34938 - PraisonAI: Python Sandbox Escape via str Subclass startswith() Override in execute_code
cvefeed.io
Open sourceSee the full picture, correlated to your attack surface.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.


