CVE-2026-34938 in the critical feed json
PraisonAI: Python Sandbox Escape via str Subclass startswith() Override in execute_code
published 2026-04-01 7 mo ago modified 2026-07-24 3 mo ago also EUVD-2026-18919 , GHSA-6vh2-h83c-9294 , PYSEC-2026-484
- cvss
- 10.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 13.4%
- EPSS 13.4% chance of exploitation in 30 days, percentile 96%
- public exploits
- 0
- none known
Summary
PraisonAI is a multi-agent teams system. Prior to version 1.5.90, execute_code() in praisonai-agents runs attacker-controlled Python inside a three-layer sandbox that can be fully bypassed by passing a str subclass with an overridden startswith() method to the _safe_getattr wrapper, achieving arbitrary OS command execution on the host. This issue has been patched in version 1.5.90.
Patch / fix
- pypi praisonaiagents 1.5.90
- praison praisonaiagents 1.5.90
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 7 mo ago
Exploit prediction
13.40% chance of exploitation in the next 30 days, higher than 96% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-6vh2-h83c-9294 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| GitHub | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| OSV | 3.1 | 10.0 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | praisonaiagents | <1.5.90 |
1.5.90 |
Affected products
- MervinPraison PraisonAI
Classification
- Weakness
-
- CWE-693 Protection Mechanism Failure
References
-
github.com
/MervinPraison/PraisonAI/security/advisories/GHSA-6vh2-h83c-9294
web, exploit, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-34938
advisory
-
github.com
/MervinPraison/PraisonAI
package
-
pypi.org
/project/praisonaiagents
package
-
github.com
/advisories/GHSA-6vh2-h83c-9294
advisory
Sources
- CVE List CVE-2026-34938
- GitHub Advisory GHSA-6vh2-h83c-9294
- NVD CVE-2026-34938
- OSV PYSEC-2026-484
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.