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.
Published: 2026-04-03
Score: 10 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Arbitrary OS command execution
Action: Immediate patch
AI Analysis

Impact

The vulnerability exists in the PraisonAI agents component. Before version 1.5.90, the execute_code() method runs supplied Python code inside a sandbox that is meant to restrict system access. Attackers can create a subclass of the built‑in str type that overrides the startswith() method. When this object is used by the sandbox’s _safe_getattr wrapper, the override bypasses the sandbox layers and allows execution of arbitrary OS commands on the host machine. The weakness is categorized as CWE‑693 because input validation fails, leading to loss of integrity and potential confidentiality compromise.

Affected Systems

Systems affected are installations of PraisonAI’s praionai‑agents package with versions earlier than 1.5.90. The vendor is MervinPraison, and the product hosting the vulnerable code is the PraisonAI agents service. Versions 1.5.90 and newer contain the fix and are not affected.

Risk and Exploitability

The CVSS base score is 10, indicating critical severity. EPSS indicates an exploitation likelihood lower than 1 %. Although the vulnerability is not listed in the CISA KEV catalog, its ability to escape a sandbox and run arbitrary commands makes it a high‑impact target. The likely attack vector is via the execute_code API, which can be invoked remotely by an attacker who can provide arbitrary code payloads. The exploit requires no additional privileges; if the agent runs with host system permissions, the injected code can gain the same level of access.

Generated by OpenCVE AI on April 14, 2026 at 22:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the 1.5.90 or newer patch to PraisonAI agents
  • Verify sandbox functionality after the upgrade
  • If a patch cannot be applied immediately, block or disable external access to the execute_code interface until the fix is deployed

Generated by OpenCVE AI on April 14, 2026 at 22:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-6vh2-h83c-9294 PraisonAI: Python Sandbox Escape via str Subclass startswith() Override in execute_code
History

Tue, 14 Apr 2026 18:15:00 +0000

Type Values Removed Values Added
First Time appeared Praison
Praison praisonaiagents
CPEs cpe:2.3:a:praison:praisonaiagents:*:*:*:*:*:*:*:*
Vendors & Products Praison
Praison praisonaiagents

Tue, 07 Apr 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared Mervinpraison
Mervinpraison praisonai
Vendors & Products Mervinpraison
Mervinpraison praisonai

Mon, 06 Apr 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sat, 04 Apr 2026 00:00:00 +0000

Type Values Removed Values Added
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.
Title PraisonAI: Python Sandbox Escape via str Subclass startswith() Override in execute_code
Weaknesses CWE-693
References
Metrics cvssV3_1

{'score': 10, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H'}


Subscriptions

Mervinpraison Praisonai
Praison Praisonaiagents
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-06T13:23:42.009Z

Reserved: 2026-03-31T17:27:08.660Z

Link: CVE-2026-34938

cve-icon Vulnrichment

Updated: 2026-04-06T13:23:37.844Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-03T23:17:06.170

Modified: 2026-04-14T18:07:19.827

Link: CVE-2026-34938

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-15T16:30:09Z

Weaknesses