CVE-2026-34937
PraisonAI is a multi-agent teams system.
Published Apr 3, 2026 · updated Jul 24, 2026 · praison praisonaiagents
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 " " 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.
Code
The project this record applies to. Exploit listings stay in References.
No public source repository is identified for this product.
Timeline
Detection, updates, and resolution for this record.
Apr 3, 2026 · NIST NVD
Detected
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 " " 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 iss
Jul 24, 2026 · NIST NVD
Updated
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 " " 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 iss
Affected
- cpe praison/praisonaiagentsversion unspecified
Sources
- CVE.orgVulnerability recordCVE-2026-34937
Official CVE identifier
cve.org - NIST NVDVulnerability recordCVE-2026-34937
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 " " and passing it to subprocess.run(..., shell=True). The escaping logic only handles \ and ",
nvd.nist.gov