Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
|
| Impact | The CVSS score of 6.5 (Medium) with network vector (AV:N), low complexity (AC:L), and no privilege requirement (PR:N) reflects remote exploitability with minimal attacker effort. However, the vector includes UI:R (requires user interaction), indicating a user must pull a recipe bundle for the attack to succeed-this significantly reduces real-world risk in fully automated deployments. The EPSS score is not provided, limiting quantitative exploitation probability assessment. No CISA KEV status or public proof-of-concept code is documented in the supplied data, indicating this is not confirmed as actively exploited in the wild at the time of analysis. The availability impact (A:H) is the sole impact vector, limiting scope to denial of service rather than confidentiality or integrity compromise. Risk is moderate if users regularly pull untrusted recipe bundles; risk is low in organizations that curate internal recipe sources or run PraisonAI in isolated environments with quota enforcement. The fix version (4.5.128) is available, making remediation straightforward. |
| Exploit ScenarioDerived | An attacker publishes a malicious recipe bundle to a public or internal recipe registry containing a highly compressible file (e.g., a 10GB archive of zeros compressed to approximately 10MB). When a developer or automated process executes LocalRegistry.pull() or HttpRegistry.pull() to fetch this recipe, the _safe_extractall() function extracts the archive without size validation, causing the system's disk to fill completely and triggering denial of service. No prior interaction or authentication is required beyond a user initiating the recipe pull operation, making this a low-friction attack against organizations that do not validate recipe sources. The user interaction requirement (UI:R in CVSS) means this is not remotely triggerable without user involvement, limiting automated exploitation scenarios. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 09, 2026
Disk exhaustion in PraisonAI prior to 4.5.128 allows remote attackers to consume arbitrary disk space by publishing malicious recipe bundles containing highly compressible data that expand dramatically during extraction. The vulnerability exists in the _safe_extractall() function, which validates only path traversal attacks but lacks checks on individual member sizes, cumulative extracted size, or member count before tar extraction, enabling an unauthenticated attacker to trigger denial of service via LocalRegistry.pull() or HttpRegistry.pull() with minimal user interaction.
RemediationAI
Vendor-released patch: Upgrade PraisonAI to version 4.5.128 or later, which implements resource validation checks in the _safe_extractall() function to enforce limits on individual member sizes, cumulative extracted size, and member count before tar extraction. Organizations unable to upgrade immediately should restrict recipe bundle pulls to trusted, curated sources and implement filesystem quota enforcement at the operating system level to limit maximum disk allocation per PraisonAI process. Additionally, monitor disk usage during recipe pulls and configure alerts to detect anomalous extraction patterns. Full remediation guidance is available in the GitHub security advisory at https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-f2h6-7xfr-xm8w.
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 systems framework that uses a recipe registry mechanism to distribute and pull agent configurations and dependencies. The vulnerability resides in the archive extraction logic used by both LocalRegistry and HttpRegistry pull operations. The _safe_extractall() function implements partial validation by checking archive members against path traversal patterns (e.g., directory escape via ../ sequences), but omits critical resource consumption controls. When tar.extractall() is invoked on a crafted archive, no limits prevent decompression bombs-highly compressed files (e.g., 10GB of repetitive zero bytes compressed to ~10MB) that expand to their full size on extraction. This is a classic CWE-409 (Improper Resource Validation) issue where the application consumes resources without enforcing quotas or size thresholds. The affected CPE (mervinpraison:praisonai) indicates this affects the open-source PraisonAI package across all versions prior to 4.5.128.
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
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
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 4.5.128, the _safe_extractall() function in PraisonAI's recipe registry validates archive members against path traversal attacks but performs no checks on individual member sizes, cumulative extracted size, or member count before calling tar.extractall(). An attacker can publish a malicious recipe bundle containing highly compressible data (e.g., 10GB of zeros compressing to ~10MB) that exhausts the victim's disk when pulled via LocalRegistry.pull() or HttpRegistry.pull(). This vulnerability is fixed in 4.5.128.
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.
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
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
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
Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex
Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl
Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr
EUVD-2026-21166
GHSA-f2h6-7xfr-xm8w
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB