CVE-2026-34937: CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') in MervinPraison PraisonAI
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.
AI Analysis
Technical Summary
PraisonAI, a multi-agent teams system, contained an OS command injection vulnerability (CWE-78) in the run_python() function prior to version 1.5.90. The function builds a shell command string by embedding user-controlled code into a python3 -c "<code>" invocation executed via subprocess.run with shell=True. The escaping logic only handled backslashes and double quotes, neglecting to escape shell command substitution constructs such as $() and backticks. This flaw allows an attacker with local privileges to execute arbitrary OS commands before the Python interpreter is invoked. The vulnerability has been patched in PraisonAI version 1.5.90.
Potential Impact
Successful exploitation allows an attacker with local access and low privileges to execute arbitrary OS commands with the privileges of the PraisonAI process. This can lead to full confidentiality, integrity, and availability compromise of the affected system. The CVSS v3.1 base score is 7.8 (high), reflecting the potential for high impact on confidentiality, integrity, and availability.
Mitigation Recommendations
This vulnerability is fixed in PraisonAI version 1.5.90. Users should upgrade to version 1.5.90 or later to remediate this issue. No other official remediation or temporary fixes are documented. Until upgrading, avoid running untrusted code via the run_python() function or restrict access to trusted users only.
CVE-2026-34937: CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') in MervinPraison PraisonAI
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.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
PraisonAI, a multi-agent teams system, contained an OS command injection vulnerability (CWE-78) in the run_python() function prior to version 1.5.90. The function builds a shell command string by embedding user-controlled code into a python3 -c "<code>" invocation executed via subprocess.run with shell=True. The escaping logic only handled backslashes and double quotes, neglecting to escape shell command substitution constructs such as $() and backticks. This flaw allows an attacker with local privileges to execute arbitrary OS commands before the Python interpreter is invoked. The vulnerability has been patched in PraisonAI version 1.5.90.
Potential Impact
Successful exploitation allows an attacker with local access and low privileges to execute arbitrary OS commands with the privileges of the PraisonAI process. This can lead to full confidentiality, integrity, and availability compromise of the affected system. The CVSS v3.1 base score is 7.8 (high), reflecting the potential for high impact on confidentiality, integrity, and availability.
Mitigation Recommendations
This vulnerability is fixed in PraisonAI version 1.5.90. Users should upgrade to version 1.5.90 or later to remediate this issue. No other official remediation or temporary fixes are documented. Until upgrading, avoid running untrusted code via the run_python() function or restrict access to trusted users only.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-31T17:27:08.660Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 69d04a110a160ebd9264ca63
Added to database: 4/3/2026, 11:15:29 PM
Last enriched: 4/11/2026, 9:23:20 AM
Last updated: 5/21/2026, 7:34:42 PM
Views: 74
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.