Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconCraft malicious tar with symlink
-
DeliveryDeliver bundle via recipe upload API
-
ExploitTrigger extraction through recipe unpack
-
InstallSymlink created in dest_dir
-
C2Traverse symlink with subsequent file
-
ExecuteWrite arbitrary content to attacker-chosen path
-
ImpactAchieve persistence or code execution
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Vulnerability triggers when PraisonAI processes tar archive bundles through recipe pull, publish, or unpack operations. Exploitation requires victim instance to ingest attacker-controlled recipe bundle, which occurs if: (1) PraisonAI exposes recipe upload/import functionality accessible to untrusted users, (2) administrators manually import recipes from untrusted sources, or (3) automated recipe synchronization pulls from attacker-controlled repositories. Default PraisonAI configuration exposes recipe management APIs, making network-accessible instances vulnerable. No user interaction required once bundle reaches extraction code path (UI:N in CVSS). Attack succeeds against default configurations without special settings. Exploitation is limited by filesystem permissions of the PraisonAI process - write operations only succeed in directories where the process has write access, but many deployments run with elevated privileges for AI model management. |
| Impact | CVSS 4.0 score of 8.7 reflects network attack vector (AV:N), low complexity (AC:L), no privileges required (PR:N), and high integrity impact (VI:H) with no confidentiality or availability impact. The vulnerability enables arbitrary file write but not read or denial-of-service, limiting immediate exploitation appeal. No CISA KEV listing and no reported active exploitation suggest this remains a latent risk rather than widely exploited threat. Attack complexity is genuinely low for skilled attackers (crafting malicious tar archives is straightforward), but exploitation requires victims to process attacker-supplied recipe bundles through PraisonAI's recipe operations. Real-world risk depends heavily on deployment context: internet-facing recipe ingestion endpoints present higher risk than isolated development environments. The network vector (AV:N) combined with no authentication (PR:N) makes this exploitable against any exposed PraisonAI instance accepting recipe bundles, but absence of observed exploitation and specialized target (AI workflow systems) suggests limited current threat landscape activity. Organizations should prioritize patching if PraisonAI instances process recipes from untrusted sources. |
| Exploit ScenarioDerived | An attacker crafts a malicious tar bundle containing a symlink entry named recipes/link.txt with linkname pointing to /etc/cron.d/, followed by a regular file entry at recipes/link.txt/malicious-cron that writes cron job configuration. When a victim PraisonAI instance processes this bundle via recipe pull/publish/unpack, the extraction creates the symlink, then writes through it to place the attacker's cron job in /etc/cron.d/malicious-cron, achieving persistence and arbitrary command execution. No public POC exists but attack construction is straightforward using standard tar manipulation tools. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 08, 2026
Path traversal via symlink exploitation in PraisonAI multi-agent teams system allows remote unauthenticated attackers to write arbitrary files outside intended directories during recipe operations (pull/publish/unpack). The _safe_extractall helper validates archive member names but fails to validate symlink targets (linkname attribute), enabling attackers to craft malicious tar bundles containing symlinks pointing outside extraction directories followed by files traversing through those symlinks. Affects versions prior to 4.6.37. EPSS data unavailable, no CISA KEV listing, and no public POC identified at time of analysis, suggesting limited observed exploitation despite network-accessible attack vector.
RemediationAI
Upgrade to PraisonAI version 4.6.37 or later, which patches the _safe_extractall function to validate symlink targets and implements proper tar extraction filtering. The fix is available through standard PraisonAI update channels and detailed in GitHub security advisory GHSA-9q28-ghcr-c4x3 at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-9q28-ghcr-c4x3. For environments unable to immediately upgrade, implement strict input validation to reject recipe bundles from untrusted sources and restrict filesystem permissions for the PraisonAI process using principle of least privilege (confine write access to dedicated recipe directories only), though these compensating controls do not eliminate the vulnerability and may break legitimate recipe functionality requiring broader filesystem access. Network-level controls blocking recipe upload endpoints from untrusted networks reduce attack surface but prevent legitimate remote recipe operations.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
PraisonAI is a multi-agent orchestration framework using recipe bundles (tar archives) for component distribution. The vulnerability exists in the _safe_extractall function used across recipe pull, publish, and unpack workflows. While the function validates tar member.name for path traversal patterns (absolute paths, .. segments, resolved-path escape), it omits validation of member.linkname attributes on symlink and hardlink entries. Python's tarfile.extractall() is invoked without filter='data' parameter (introduced in Python 3.12 to prevent extraction of special file types). This maps to CWE-22 (Improper Limitation of a Pathname to a Restricted Directory). The attack exploits the tar format's support for symbolic links as metadata entries that create filesystem links during extraction, combined with subsequent file writes that resolve through those links.
Know when Praisonai gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Primary rating from GitHub Advisory · only source for this CVE.
CVSS VectorGitHub Advisory
Lifecycle Timeline
2DescriptionGitHub Advisory
PraisonAI is a multi-agent teams system. Prior to version 4.6.37, the _safe_extractall helper that all recipe pull, recipe publish, and recipe unpack flows route through validates each archive member's name for absolute paths, .. segments, and resolved-path escape - but does not validate member.linkname, does not reject symlink/hardlink members, and calls tar.extractall(dest_dir) without filter="data". A bundle that contains a symlink with a name inside dest_dir but a linkname pointing outside it, followed by a regular file whose path traverses through the just-created symlink, escapes dest_dir and lets the attacker write arbitrary content to an attacker-chosen location on the victim's filesystem. This issue has been patched in version 4.6.37.
Executive ViewAI
PraisonAI versions prior to 4.6.37 contain an unauthenticated path traversal vulnerability that allows remote attackers to write arbitrary files to any location on affected systems during recipe operations. This vulnerability poses significant risk to organizations deploying PraisonAI multi-agent teams, as it enables complete file system compromise without authentication and could lead to system takeover, data theft, or deployment of malicious code.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict network access to PraisonAI recipe endpoints using firewall rules or network segmentation; (2) Disable or restrict recipe pull/publish/unpack functionality if not actively required; (3) Run PraisonAI in isolated containers with read-only file system where possible; (4) Implement file integrity monitoring (FIM) tools to detect unauthorized file modifications; (5) Monitor tar bundle sources for malicious content before processing; (6) Apply principle of least privilege to PraisonAI process permissions to limit blast radius of file write operations.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote code execution in PraisonAI before 1.6.78 allows attackers to run arbitrary Python on the host by manipulating th
PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans
WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att
PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne
System prompt extraction and unauthorized tool invocation in PraisonAI before 4.6.78 arise because the prompt-injection
Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller
SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou
Server-side request forgery in PraisonAI's Crawl4AI/Chromium crawling backend (all versions before 1.6.78) lets low-priv
Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec
Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u
Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d
Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf
EUVD-2026-28643
GHSA-9q28-ghcr-c4x3
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB