PraisonAI is a multi-agent teams system. Prior to 4.5.128, PraisonAI's AST-based Python sandbox can be bypassed using type.__getattribute__ trampoline, allowing arbitrary code execution when running untrusted agent code. The _execute_code_direct function in praisonaiagents/tools/python_tools.py uses AST filtering to block dangerous Python attributes like __subclasses__, __globals__, and __bases__. However, the filter only checks ast.Attribute nodes, allowing a bypass. The sandbox relies on AST-based filtering of attribute access but fails to account for dynamic attribute resolution via built-in methods such as type.getattribute, resulting in incomplete enforcement of security restrictions. The string '__subclasses__' is an ast.Constant, not an ast.Attribute, so it is never checked against the blocked list. This vulnerability is fixed in 4.5.128.
References
| Link | Resource |
|---|---|
| https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-3c4r-6p77-xwr7 | Exploit Vendor Advisory |
Configurations
History
20 Apr 2026, 19:38
| Type | Values Removed | Values Added |
|---|---|---|
| First Time |
Praison
Praison praisonai |
|
| References | () https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-3c4r-6p77-xwr7 - Exploit, Vendor Advisory | |
| CPE | cpe:2.3:a:praison:praisonai:*:*:*:*:*:*:*:* |
10 Apr 2026, 17:17
| Type | Values Removed | Values Added |
|---|---|---|
| New CVE |
Information
Published : 2026-04-10 17:17
Updated : 2026-04-20 19:38
NVD link : CVE-2026-40158
Mitre link : CVE-2026-40158
CVE.ORG link : CVE-2026-40158
JSON object : View
Products Affected
praison
- praisonai
