Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-34937— PraisonAI: Shell Injection in run_python() via Unescaped $() Substitution

Quick assessment

Affected
MervinPraison PraisonAI
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

PraisonAI是Mervin Praison个人开发者的一个低代码多智能体协作框架。 PraisonAI 1.5.90之前版本存在安全漏洞,该漏洞源于run_python函数通过将用户控制的代码插入shell命令字符串来构造命令,且转义逻辑不完整,可能导致在调用Python前执行任意操作系统命令。

CVSS 7.8 · High EPSS 0.63% · P49
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-34937

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
PraisonAI: Shell Injection in run_python() via Unescaped $() Substitution
Source: CVE Program / CVE List V5
Vulnerability Description
PraisonAI is a multi-agent teams system. Prior to version 1.5.90, run_python() in praisonai constructs a shell command string by interpolating user-controlled code into python3 -c "<code>" and passing it to subprocess.run(..., shell=True). The escaping logic only handles \ and ", leaving $() and backtick substitutions unescaped, allowing arbitrary OS command execution before Python is invoked. This issue has been patched in version 1.5.90.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
OS命令中使用的特殊元素转义处理不恰当(OS命令注入)
Source: CVE Program / CVE List V5
Vulnerability Title
PraisonAI 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
PraisonAI是Mervin Praison个人开发者的一个低代码多智能体协作框架。 PraisonAI 1.5.90之前版本存在安全漏洞,该漏洞源于run_python函数通过将用户控制的代码插入shell命令字符串来构造命令,且转义逻辑不完整,可能导致在调用Python前执行任意操作系统命令。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
MervinPraison PraisonAI < 1.5.90 -

II. Public POCs for CVE-2026-34937

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-34937

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-34937 (1)

Same Patch Batch · MervinPraison · 2026-04-03 · 10 CVEs total

CVE-2026-34938 10.0 CRITICAL PraisonAI: Python Sandbox Escape via str Subclass startswith() Override in execute_code
CVE-2026-34934 9.8 CRITICAL PraisonAI: Second-Order SQL Injection in `get_all_user_threads`
CVE-2026-34935 9.8 CRITICAL PraisonAI: OS Command Injection in MCPHandler.parse_mcp_command()
CVE-2026-34952 9.1 CRITICAL PraisonAI: Missing Authentication in WebSocket Gateway
CVE-2026-34953 9.1 CRITICAL PraisonAI: Authentication Bypass in OAuthManager.validate_token()
CVE-2026-34955 8.8 HIGH PraisonAI: Sandbox Escape via shell=True and Bypassable Blocklist in SubprocessSandbox
CVE-2026-34954 8.6 HIGH PraisonAI: SSRF in FileTools.download_file() via Unvalidated URL
CVE-2026-34936 7.7 HIGH PraisonAI: SSRF via Unvalidated api_base in passthrough() Fallback
CVE-2026-34939 6.5 MEDIUM PraisonAI: ReDoS via Unvalidated User-Controlled Regex in MCPToolIndex.search_tools()

IV. Related Vulnerabilities

V. Comments for CVE-2026-34937

No comments yet


Leave a comment