Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Impact | This vulnerability presents a moderate but realistically exploitable denial of service risk. The CVSS score of 6.2 reflects the local attack vector (AV:L), low complexity (AC:L), and high availability impact (A:H), correctly rating it as Medium severity. The local-only attack vector significantly constrains real-world applicability compared to network-accessible services, limiting the threat to scenarios where an attacker has shell access or can spawn processes on the same host. However, the absence of authentication (PR:N) and low attack complexity (AC:L) make exploitation trivial once local access is achieved. The vulnerability is not listed as actively exploited in public KEV databases, and no public proof-of-concept code has been independently confirmed. The default-disabled authentication posture and the existence of a properly implemented size-limit in the alternative Starlette server suggest this was a design oversight rather than a sophisticated bypass. Organizations running PraisonAI in multi-tenant environments or with untrusted local users should prioritize patching; isolated single-user deployments face lower practical risk. The availability impact (denial of service) is severe but not escalable to confidentiality or integrity breaches. |
| Exploit ScenarioDerived | An attacker with local shell access to a host running PraisonAI crafts a custom HTTP POST request to the WSGI recipe registry server with a fraudulent Content-Length header claiming a payload of 10GB, then sends only a small amount of data. The WSGI server allocates memory to buffer the claimed Content-Length and enters a wait state for the remaining data, accumulating memory pressure. By repeating this attack with multiple concurrent requests, the attacker exhausts available system memory, causing the PraisonAI server process to be terminated by the OS out-of-memory killer, resulting in service unavailability. No authentication is required because token-based authentication is disabled by default. Attack complexity is low because the attacker only needs to construct a standard HTTP POST request with a malicious Content-Length header; no special exploit code or deep protocol knowledge is required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 09, 2026
Memory exhaustion denial of service in PraisonAI's WSGI-based recipe registry server (server.py) affects versions prior to 4.5.128. The vulnerability allows unauthenticated local processes to send arbitrarily large POST requests by spoofing the Content-Length header, causing the server to allocate unbounded memory and crash. Authentication is disabled by default, eliminating any access control barrier. The Starlette-based alternative server (serve.py) includes a 10MB request size limit, but the WSGI implementation lacks equivalent protection. Vendor-released patch: version 4.5.128 or later.
RemediationAI
Upgrade PraisonAI to version 4.5.128 or later, which implements request size limits in the WSGI server analogous to the RequestSizeLimitMiddleware present in the Starlette implementation. As a temporary workaround pending upgrade, disable or restrict network access to the WSGI recipe registry server (server.py) in production environments, or deploy network-level request size limits at the reverse proxy or firewall layer to reject POST requests exceeding a defined threshold (e.g., 10MB to match Starlette behavior). Enable authentication by configuring a token/API key, even as a temporary measure, to reduce the attack surface to authenticated clients only. Refer to the official GitHub Security Advisory (https://github.com/MervinPraison/PraisonAI/security/advisories/GHSA-2xgv-5cv2-47vv) for patch details and version confirmation.
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 implements two distinct HTTP server implementations: a WSGI-based recipe registry server (server.py) and a Starlette-based server (serve.py). The vulnerability resides in the WSGI server's request handling logic, which trusts the client-supplied Content-Length HTTP header as the authoritative size of the incoming request body and loads the entire body into memory without validation or limits. This violates the principle of not trusting client-supplied input for resource allocation decisions. The root cause is improper resource management (CWE-770: Allocation of Resources Without Limits or Throttling). The Starlette implementation demonstrates the correct pattern by implementing RequestSizeLimitMiddleware with a hardcoded 10MB ceiling, but this protection is absent in the WSGI server. Authentication is not enforced by default, meaning any process with network access to the WSGI server port can initiate the attack without credentials.
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:L/AC:L/PR:N/UI:N/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 WSGI-based recipe registry server (server.py) reads the entire HTTP request body into memory based on the client-supplied Content-Length header with no upper bound. Combined with authentication being disabled by default (no token configured), any local process can send arbitrarily large POST requests to exhaust server memory and cause a denial of service. The Starlette-based server (serve.py) has RequestSizeLimitMiddleware with a 10MB limit, but the WSGI server lacks any equivalent protection. 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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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-21160
GHSA-2xgv-5cv2-47vv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB