CVE-2026-34937
PraisonAI: Shell Injection in run_python() via Unescaped $() Substitution
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD. Rated lower by GHSA (high).
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.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| pip::GitHub Security Advisory pip | praisonaiagents | 1.5.90 |