CVE-2026-57133: PraisonAI shell command allowlist bypass via shell chaining

CVE-2026-57133 · Severity: high · CVSS 8.8 · Published 2026-09-15

PraisonAI is an npm package that provides AI agent automation tools, including a utility function meant to safely execute read-only shell commands. The vulnerability allows attackers to bypass the command allowlist by chaining unauthorized commands after an allowed command using shell metacharacters (e.g., `echo ok; printf malicious`), enabling arbitrary code execution with PraisonAI process privileges when the helper is exposed to untrusted input sources.

Technologies: praisonai (npm). Vendors: npm.

Quick answers

Is CVE-2026-57133 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-57133 being exploited in the wild.
How severe is CVE-2026-57133?
High severity, with a CVSS score of 8.8, published 15 September 2026.
Which products and versions are affected?
praisonai (npm) SEMVER:introduced=1.5.1,fixed=1.7.2.
Is there a fix for CVE-2026-57133?
Yes. praisonai (npm): upgrade to 1.7.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-57133 attacked?
It is attacked over the network.
Am I affected by CVE-2026-57133?
Check whether you run praisonai (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • praisonai (npm): upgrade to 1.7.2 or later
    npm install praisonai@1.7.2

Technical details

The vulnerability is a command injection / authorization bypass in the utility-tools.shell() function. The root cause is a policy/parser differential: the function validates only the first whitespace-delimited token against a hardcoded allowlist (ls, cat, head, tail, wc, grep, find, echo, date, pwd, which), but then executes the entire command string through Node.js child_process.exec(), which runs through a shell. Because the shell parses metacharacters like semicolons, pipes, and redirects, an attacker can bypass the allowlist by prefixing a forbidden command with an allowed one: `echo harmless; malicious-command`. The attack requires network reachability to an application exposing this helper and the ability to influence the command input (via prompts, user tasks, plugin input, or agent-controlled tool output). There is no user interaction required. The patch (version 1.7.2+) replaces exec() with execFile() or spawn() with shell disabled and/or validates the entire parsed command, not just the first token.

Affected products

  • Mervin Praison PraisonAI >=1.5.1, <=1.7.1

Identifiers

  • CVE-2026-57133
  • GHSA-5jv7-2mjm-h6qj

Timeline

  • 2026-06-18: disclosed
  • 2026-06-18: patched: Patch released in version 1.7.2

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.