Vulnerabilities in pkg:pypi/PraisonAI
PACKAGEGHSA-wrw8-384c-cg76 is a HIGH (CVSS 8.8) praisonai: shell command allowlist bypass vulnerability (CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')) affecting Duplicate Advisory libraries in the PyPI ecosystem. The issue involves praisonai: shell command allowlist bypass via find -exec built-in action. Remediation is available in the latest vendor maintenance releases.
pkg:pypi/PraisonAI
Vulnerability advisories affecting package pkg:pypi/PraisonAI. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-wrw8-384c-cg76 | - | HIGH | Duplicate Advisory: PraisonAI: Shell command allowlist bypass via find -exec built-in action |
| GHSA-65c8-r727-2mpj | - | HIGH | Duplicate Advisory: PraisonAI: SecurityPolicy command/path/import restrictions are completely unenforced by the default SubprocessSandbox backend |
| GHSA-fj8f-m44g-c479 | CVE-2026-61439 | HIGH | PraisonAI: Prompt Injection Defense Bypassed for HIGH-Level Threats |
| GHSA-g6j7-pffp-8whg | CVE-2026-62176 | CRITICAL | PraisonAI: Code Injection via f-string Interpolation in Deploy API Server Generation |
| GHSA-6g6r-q6gw-w8fg | CVE-2026-55536 | CRITICAL | PraisonAI has a Browser Server WebSocket origin validation bypass via unanchored regex (patch bypass of CVE-2026-40289 / GHSA-8x8f-54wf-vv92) |
| GHSA-pvph-5j39-v8qc | CVE-2026-55532 | HIGH | PraisonAI: Origin-validation bypass (startswith prefix match) enables unauthenticated cross-site request forgery against the PraisonAI MCP HTTP server |
| GHSA-gfq8-hmph-9gjv | CVE-2026-55533 | HIGH | PraisonAI: Authentication fail-open in Recipe server allows unauthenticated access when API key or JWT auth is configured without a secret |
| GHSA-2jgc-f764-c5r2 | CVE-2026-55539 | HIGH | PraisonAI: [Auth Bypass] PraisonAI async Jobs API (`/api/v1/runs`) has no authentication — unauthenticated job execution, result theft, cancel and delete |
| GHSA-pvxx-r596-f5qj | CVE-2026-55541 | HIGH | PraisonAI: `--api-key` flag on `praisonai serve` is not properly enforced |
| GHSA-hmfx-4v44-9qw9 | CVE-2026-55535 | MODERATE | PraisonAI vulnerable to Server-Side Request Forgery via DNS rebinding bypass in webhook_url validation |
| GHSA-rg5q-pp8p-f7jm | CVE-2026-55537 | HIGH | PraisonAI: Webhook SSRF via DNS fail-open in `JobSubmitRequest.validate_webhook_url()` — bypass of CVE-2026-40114 |
| GHSA-r7v3-x45f-g7hp | CVE-2026-55538 | HIGH | PraisonAI: [Auth Bypass] `praisonai serve agents --api-key` is silently ignored — agent-invocation routes (`POST /agents`, `POST /agents/{agent_name}`) run unauthenticated |
| GHSA-ch89-h4r2-c8f8 | CVE-2026-55540 | HIGH | PraisonAI: [Path Traversal] agent tools escape the configured workspace via symlinks |
| GHSA-7ww9-85pg-cv4x | CVE-2026-55534 | HIGH | PraisonAI serve agents --api-key is ignored, allowing unauthenticated remote agent execution |
| GHSA-wv94-5qcp-6m36 | CVE-2026-55531 | MODERATE | PraisonAI MCP HTTP server has unauthenticated unbounded session accumulation (memory exhaustion; session TTL never enforced) |
| GHSA-wj6g-v78p-6fx3 | CVE-2026-55529 | MODERATE | PraisonAI has an origin validation bypass in MCP HTTP Stream transport that allows browser-mediated unauthenticated tool execution on local MCP server |
| GHSA-hxmv-c4g6-5fqc | CVE-2026-55522 | HIGH | PraisonAI workflow include bypasses tools.py autoload opt-in and executes included recipe code |
| GHSA-hvhp-v2gc-268q | CVE-2026-47397 | HIGH | PraisonAI has an Arbitrary File Write in Python API |
| GHSA-vg22-4gmj-prxw | CVE-2026-47391 | CRITICAL | PraisonAI's unauthenticated A2A official example can reach real LLM-driven `eval()` tool execution |
| GHSA-9cr9-25q5-8prj | CVE-2026-47394 | HIGH | PraisonAI vulnerable to unauthenticated arbitrary file read via MCP workflow.show, workflow.validate, deploy.validate |
| GHSA-4mr5-g6f9-cfrh | CVE-2026-47392 | CRITICAL | PraisonAI vulnerable to sandbox escape via `print.__self__` builtins module leak in `execute_code` (subprocess mode) |
| GHSA-5cxw-77wg-jrf3 | CVE-2026-47395 | MODERATE | PraisonAI CLI automatically resolves @url mentions in prompt text and can read loopback URLs into model context |
| GHSA-8444-4fhq-fxpq | CVE-2026-47393 | CRITICAL | PraisonAI `deploy --type api` emits a Flask server with authentication disabled by default |
| GHSA-86qc-r5v2-v6x6 | CVE-2026-47396 | CRITICAL | PraisonAI call server exposes unauthenticated agent listing, invocation, and deletion when CALL_SERVER_TOKEN is unset |
| GHSA-5c6w-wwfq-7qqm | CVE-2026-47390 | MODERATE | PraisonAI spider_tools SSRF protection bypass via alternate loopback host encodings |
| GHSA-78r8-wwqv-r299 | CVE-2026-47398 | HIGH | PraisonAI: Arbitrary code execution via unguarded `spec.loader.exec_module` in `agents_generator.py` - sibling of CVE-2026-44334 |
| GHSA-9q28-ghcr-c4x3 | CVE-2026-44340 | HIGH | PraisonAI's symlink-extraction bypass of `_safe_extractall` writes outside `dest_dir` |
| GHSA-gmjg-hv98-qggq | CVE-2026-44339 | HIGH | PraisonAI has unsafe tool resolution in `ToolExecutionMixin.execute_tool`: undeclared `__main__` callables execute |
| GHSA-9mqq-jqxf-grvw | CVE-2026-44336 | CRITICAL | PraisonAI MCP `tools/call` path-traversal => RCE via Python `.pth` injection |
| GHSA-3643-7v76-5cj2 | CVE-2026-44337 | MODERATE | PraisonAI knowledge-store backends interpolate unvalidated collection names into SQL and CQL queries |
| GHSA-6rmh-7xcm-cpxj | CVE-2026-44338 | HIGH | PraisonAI ships and generates a legacy API server with authentication disabled by default, allowing unauthenticated workflow execution |
| GHSA-x783-xp3g-mqhp | CVE-2026-40315 | MODERATE | PraisonAI: SQLiteConversationStore didn't validate table_prefix when constructing SQL queries |
| GHSA-8x8f-54wf-vv92 | CVE-2026-40289 | CRITICAL | PraisonAI Browser Server allows unauthenticated WebSocket clients to hijack connected extension sessions |
| GHSA-vc46-vw85-3wvm | CVE-2026-40288 | CRITICAL | PraisonAI has critical RCE via `type: job` workflow YAML |
| GHSA-g985-wjh9-qxxc | CVE-2026-40287 | HIGH | PraisonAI Vulnerable to RCE via Automatic tools.py Import |
| GHSA-8frj-8q3m-xhgm | CVE-2026-40114 | HIGH | PraisonAI Vulnerable to Server-Side Request Forgery via Unvalidated webhook_url in Jobs API |
| GHSA-pj2r-f9mw-vrcq | CVE-2026-40159 | MODERATE | PraisonAI Vulnerable to Sensitive Environment Variable Exposure via Untrusted MCP Subprocess Execution |
| GHSA-99g3-w8gr-x37c | CVE-2026-40157 | CRITICAL | PraisonAI vulnerable to arbitrary file write via path traversal in `praisonai recipe unpack` |
| GHSA-f2h6-7xfr-xm8w | CVE-2026-40148 | MODERATE | PraisonAI Vulnerable to Decompression Bomb DoS via Recipe Bundle Extraction Without Size Limits |
| GHSA-pv9q-275h-rh7x | CVE-2026-40154 | CRITICAL | PraisonAI Vulnerable Untrusted Remote Template Code Execution |
| GHSA-qwgj-rrpj-75xm | - | HIGH | PraisonAI: Hardcoded `approval_mode="auto"` in Chainlit UI Overrides Administrator Configuration, Enabling Unapproved Shell Command Execution |
| GHSA-3c4r-6p77-xwr7 | CVE-2026-40158 | HIGH | PraisonAI Vulnerable to Code Injection and Protection Mechanism Failure |
| GHSA-pm96-6xpr-978x | CVE-2026-40151 | MODERATE | PraisonAI: Unauthenticated Information Disclosure of Agent Instructions via /api/agents in AgentOS |
| GHSA-4wr3-f4p3-5wjh | CVE-2026-40149 | HIGH | PraisonAI: Unauthenticated Allow-List Manipulation Bypasses Agent Tool Approval Safety Controls |
| GHSA-2xgv-5cv2-47vv | CVE-2026-40115 | MODERATE | PraisonAI has Unrestricted Upload Size in WSGI Recipe Registry Server that Enables Memory Exhaustion DoS |
| GHSA-q5r4-47m9-5mc7 | CVE-2026-40116 | HIGH | PraisonAI: Unauthenticated WebSocket Endpoint Proxies to Paid OpenAI Realtime API Without Rate Limits |
| GHSA-fvxx-ggmx-3cjg | CVE-2026-40113 | HIGH | PraisonAI Vulnerable to Argument Injection into Cloud Run Environment Variables via Unsanitized Comma in gcloud --set-env-vars |
| GHSA-cfg2-mxfj-j6pw | CVE-2026-40112 | MODERATE | PraisonAI Vulnerable to Stored XSS via Unsanitized Agent Output in HTML Rendering (nh3 Not a Required Dependency) |
| GHSA-2763-cj5r-c79m | CVE-2026-40088 | CRITICAL | PraisonAI Vulnerable to OS Command Injection |
| GHSA-693f-pf34-72c5 | CVE-2026-35615 | CRITICAL | PraisonAI Has Path Traversal in FileTools |
| GHSA-r9x3-wx45-2v7f | CVE-2026-39308 | HIGH | PraisonAI recipe registry publish path traversal allows out-of-root file write |
| GHSA-4rx4-4r3x-6534 | CVE-2026-39306 | HIGH | PraisonAI recipe registry pull path traversal writes files outside the chosen output directory |
| GHSA-jfxc-v5g9-38xr | CVE-2026-39305 | CRITICAL | PraisonAI Vulnerable to Arbitrary File Write / Path Traversal in Action Orchestrator |
| GHSA-4ph2-f6pf-79wv | CVE-2026-39307 | HIGH | PraisonAI Has Arbitrary File Write (Zip Slip) in Templates Extraction |
GHSA-wrw8-384c-cg76 at a Glance
Security Impact
CVSS: 8.8
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).
How to Fix GHSA-wrw8-384c-cg76
To remediate this vulnerability, upgrade all affected Duplicate Advisory dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install PraisonAI>=Latest secure release
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show PraisonAI
How to Check if You Are Affected
To determine whether your Python environment is affected by GHSA-wrw8-384c-cg76, inspect your installed packages using pip:
pip show PraisonAI
Analyze the terminal output to locate any version of Duplicate Advisory in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than the patched release), your application is affected.
Note: The pip show PraisonAI command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection'), where the product constructs all or part of an os command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended os command when it is sent to a downstream component. In Duplicate Advisory, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-wrw8-384c-cg76 Affected Duplicate Advisory Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
PraisonAI
|
PyPI |
≤ 4.6.77
|
|
References
Frequently Asked Questions
What is GHSA-wrw8-384c-cg76?
Which Duplicate Advisory versions are affected?
What version fixes GHSA-wrw8-384c-cg76?
Is PraisonAI affected?
What is the CVSS score of GHSA-wrw8-384c-cg76?
What CWE is associated with GHSA-wrw8-384c-cg76?
How can I check PyPI dependencies for GHSA-wrw8-384c-cg76?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-wrw8-384c-cg76",
"modified" : "2026-10-08T22:00:49Z",
"published" : "2026-07-10T15:31:42Z",
"withdrawn" : "2026-10-08T22:00:49Z",
"aliases" : [ ],
"summary" : "Duplicate Advisory: PraisonAI: Shell command allowlist bypass via find -exec built-in action",
"details" : "### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-cv3g-hj65-pcfh. This link is maintained to preserve external references.\n\n### Original Description\nPraisonAI versions before 4.6.78 contain an allowlist bypass vulnerability in shell command execution that allows attackers to execute restricted commands via find's built-in -exec, -execdir, and -delete actions. Attackers can craft find commands with these built-in actions to read blocked files, delete files, or execute non-allowlisted binaries without triggering shell metacharacter filters.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
}, {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "PraisonAI"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"last_affected" : "4.6.77"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-cv3g-hj65-pcfh"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-61434"
}, {
"type" : "WEB",
"url" : "https://www.vulncheck.com/advisories/praisonai-before-allowlist-bypass-via-find-exec"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-78" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-10-08T22:00:49Z",
"nvd_published_at" : "2026-07-10T15:16:50Z"
}
}