CVE-2026-34938
Received Received - Intake
Sandbox Bypass in PraisonAI Agents Enables Remote Code Execution

Publication date: 2026-04-03

Last updated on: 2026-04-14

Assigner: GitHub, Inc.

Description
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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-04-03
Last Modified
2026-04-14
Generated
2026-05-07
AI Q&A
2026-04-04
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
praison praisonaiagents to 1.5.90 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-693 The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.
Attack-Flow Graph
AI Powered Q&A
How can this vulnerability impact me? :

This vulnerability allows an attacker to achieve arbitrary OS command execution on the host running PraisonAI. This means an attacker can run any command on the affected system with potentially full control, leading to complete compromise of the host, data theft, data destruction, or further attacks within the network.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability has been patched in PraisonAI version 1.5.90. Immediate mitigation involves upgrading PraisonAI to version 1.5.90 or later.


Can you explain this vulnerability to me?

PraisonAI is a multi-agent teams system. Before version 1.5.90, the execute_code() function in praisonai-agents runs attacker-controlled Python code inside a three-layer sandbox. However, this sandbox can be completely bypassed by using a string subclass with an overridden startswith() method passed to the _safe_getattr wrapper. This bypass allows an attacker to execute arbitrary operating system commands on the host machine.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart