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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

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

CVSS 7.8 · High EPSS 0.03% · P9
Get alerts for future matching vulnerabilitiesLog 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: NVD (National Vulnerability Database)
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: NVD (National Vulnerability Database)
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: NVD (National Vulnerability Database)
Vulnerability Type
OS命令中使用的特殊元素转义处理不恰当(OS命令注入)
Source: NVD (National Vulnerability Database)
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

VendorProductAffected VersionsCPESubscribe
MervinPraisonPraisonAI < 1.5.90 -

II. Public POCs for CVE-2026-34937

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-34937

登录查看更多情报信息。

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

CVE-2026-3493810.0 CRITICALPraisonAI: Python Sandbox Escape via str Subclass startswith() Override in execute_code
CVE-2026-349349.8 CRITICALPraisonAI: Second-Order SQL Injection in `get_all_user_threads`
CVE-2026-349359.8 CRITICALPraisonAI: OS Command Injection in MCPHandler.parse_mcp_command()
CVE-2026-349529.1 CRITICALPraisonAI: Missing Authentication in WebSocket Gateway
CVE-2026-349539.1 CRITICALPraisonAI: Authentication Bypass in OAuthManager.validate_token()
CVE-2026-349558.8 HIGHPraisonAI: Sandbox Escape via shell=True and Bypassable Blocklist in SubprocessSandbox
CVE-2026-349548.6 HIGHPraisonAI: SSRF in FileTools.download_file() via Unvalidated URL
CVE-2026-349367.7 HIGHPraisonAI: SSRF via Unvalidated api_base in passthrough() Fallback
CVE-2026-349396.5 MEDIUMPraisonAI: 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