GHSA-qf73-2hrx-xprp · Severity: critical · Ecosystem: pip — PraisonAI has sandbox escape via exception frame traversal in `execute_code` (subprocess mode)
PraisonAI is a multi-agent teams system. Prior to 1.5.115, execute_code() in praisonaiagents.tools.python_tools defaults to sandbox_mode="sandbox", which runs user code in a subprocess wrapped with a restricted __builtins__ dict and an AST-based blocklist. The AST blocklist embedded inside the subprocess wrapper (blocked_attrs of python_tools.py) contains only 11 attribute names — a strict subset of the 30+ names blocked in the direct-execution path. The four attributes that form a frame-traversal chain out of the sandbox are all absent from the subprocess list (__traceback__, tb_frame, f_back, and f_builtins). Chaining these attributes through a caught exception exposes the real Python builtins dict of the subprocess wrapper frame, from which exec can be retrieved and called under a non-blocked variable name — bypassing every remaining security layer. This vulnerability is fixed in 1.5.115.
Conclusion & alert: CVE-2026-39888 is rated Moderate Risk (54.4/100): CVSS Critical severity, with low exploitation likelihood (EPSS 0.54%). Mandatory action: Review affected assets and schedule remediation.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-06-15 | 0.04% | 0.54% | +0.50% |
| 2 | 2026-05-22 | 0.08% | 0.04% | -0.04% |
| 3 | 2026-04-09 | — | 0.08% | — |
Full EPSS history (3 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 9.9 | 3.1 | CRITICAL |
|
3.1 | 6.0 | [email protected] |
GHSA-qf73-2hrx-xprp · Severity: critical · Ecosystem: pip — PraisonAI has sandbox escape via exception frame traversal in `execute_code` (subprocess mode)
| URL | Tags |
|---|---|
| https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-qf73-2hrx-xprp | Vendor Advisory |