Skip to content
OpenAdvisories
Critical · 10.0 CVE-2026-34938 EUVD-2026-18919GHSA-6vh2-h83c-9294PYSEC-2026-484

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

Published Apr 3, 2026 · Updated Apr 6, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
MervinPraison PraisonAI < 1.5.90 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI praisonaiagents < 1.5.90 1.5.90 GHSA-6vh2-h83c-9294

References