Home

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.

PUBLISHED Reserved 2026-03-31 | Published 2026-04-03 | Updated 2026-04-06 | Assigner GitHub_M




HIGH: 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Problem types

CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

Product status

< 1.5.90
affected

References

github.com/...isonAI/security/advisories/GHSA-w37c-qqfp-c67f exploit

github.com/...isonAI/security/advisories/GHSA-w37c-qqfp-c67f

cve.org (CVE-2026-34937)

nvd.nist.gov (CVE-2026-34937)

Download JSON