PT-2026-29824 · Praisonai · Praisonai

Yerang30

·

Published

2026-04-01

·

Updated

2026-04-03

·

CVE-2026-34937

CVSS v3.1

9.8

Critical

VectorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions PraisonAI versions prior to 1.5.90
Description PraisonAI's run python() function constructs a shell command string by interpolating user-controlled code into python3 -c "<code>" and passing it to subprocess.run(..., shell=True). The escaping logic only handles `` and ", leaving $() and backtick substitutions unescaped, which allows arbitrary OS command execution before Python is invoked. The function run python() is vulnerable due to incomplete escaping of user-controlled input. The vulnerable code is located in execute command.py lines 290, 297, and 310. The execute command function calls subprocess.run() with shell=True, which expands $() before Python is executed. The API endpoint is not explicitly mentioned, but the function run python() is exposed to prompt injection.
Recommendations Update PraisonAI to version 1.5.90 or later.

Exploit

Fix

OS Command Injection

Weakness Enumeration

Related Identifiers

CVE-2026-34937
GHSA-W37C-QQFP-C67F

Affected Products

Praisonai