PraisonAI utility shell safe-command wrapper allowlist bypass via shell chaining
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| MervinPraison | PraisonAI | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Mervinpraison | Praisonai |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-5jv7-2mjm-h6qj | npm PraisonAI utility shell safe-command wrapper allowlist bypass via shell chaining |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.804% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Mervinpraison
Mervinpraison praisonai |
|
| Vendors & Products |
Mervinpraison
Mervinpraison praisonai |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | PraisonAI is a multi-agent teams system. From 1.5.1 until 1.7.2, the shell() helper exported from src/praisonai-ts/src/tools/utility-tools.ts checks only the first whitespace-delimited token against safeCommands and then passes the complete original string to child_process.exec(). A string that starts with an allowed read-only command can append a second non-allowlisted command through shell syntax, allowing arbitrary command execution with the PraisonAI process privileges. This issue is fixed in version 1.7.2. | |
| Title | PraisonAI utility shell safe-command wrapper allowlist bypass via shell chaining | |
| Weaknesses | CWE-693 CWE-78 CWE-863 |
|
| References |
| |
| Metrics |
cvssV3_1
|