CVE-2026-34938 PUBLISHED

PraisonAI: Python Sandbox Escape via str Subclass startswith() Override in execute_code

Assigner: GitHub_M
Reserved: 31.03.2026 Published: 03.04.2026 Updated: 03.04.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS Score: 10

Product Status

Vendor MervinPraison
Product PraisonAI
Versions
  • Version < 1.5.90 is affected

References

Problem Types

  • CWE-693: Protection Mechanism Failure CWE