Skip to main content

Praisonai EUVDEUVD-2026-21160

| CVE-2026-40115 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-04-09 GitHub_M GHSA-2xgv-5cv2-47vv
6.2
CVSS 3.1 · GitHub Advisory
View

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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

PraisonAI < 4.5.128

Affected Packages

pypi praisonai fix: 4.5.128

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

GitHub Advisory PRIMARY 6.2 MEDIUM
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

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch released
Apr 10, 2026 - 20:30 nvd
Patch available
CVE Published
Apr 09, 2026 - 21:19 nvd
MEDIUM 6.2

DescriptionGitHub 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

EPSS Score
0.0%
Top 95% exploitable
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

31
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +31
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-57139 CRITICAL POC
9.8 Sep 15

PraisonAI's TypeScript MCP server (npm package `praisonai`, versions 1.5.0 through 1.7.1) exposes an HTTP JSON-RPC trans

CVE-2026-55536 CRITICAL POC
9.1 Aug 25

WebSocket origin-validation bypass in PraisonAI's Browser Server (praisonai/browser/server.py) before 4.6.58 lets an att

CVE-2026-55541 HIGH POC
8.8 Aug 25

PraisonAI's `praisonai serve` subsystem (agents and unified modes) accepts an `--api-key` CLI flag that is parsed but ne

CVE-2026-55534 HIGH POC
8.6 Aug 25

Unauthenticated remote agent invocation in PraisonAI versions 4.6.34 through 4.6.57 allows any network-reachable caller

CVE-2026-55526 HIGH POC
8.5 Aug 25

SSRF protection bypass in PraisonAI's praisonaiagents library (all versions before 1.6.58) lets low-privileged users rou

CVE-2026-55533 HIGH POC
8.2 Aug 25

Authentication fail-open in PraisonAI's Recipe HTTP server allows unauthenticated remote attackers to invoke recipe exec

CVE-2026-55528 HIGH POC
8.2 Aug 25

Authentication bypass in PraisonAI's AgentServer component exposes all routes - /publish, /events, /info, /health - to u

CVE-2026-55522 HIGH POC
7.8 Aug 05

Arbitrary Python code execution in PraisonAI's workflow include feature allows an attacker who controls a local recipe d

CVE-2026-55523 HIGH POC
7.7 Aug 05

Server-side request forgery in PraisonAI's web_crawl() function (versions 1.5.128-1.6.57) allows an attacker who can inf

CVE-2026-55532 HIGH POC
7.6 Aug 25

Cross-site request forgery against the PraisonAI MCP HTTP-stream transport allows unauthenticated remote attackers to ex

CVE-2026-44338 HIGH POC
7.3 May 08

Remote unauthenticated access to PraisonAI's legacy Flask API server allows attackers to execute configured agent workfl

CVE-2026-55527 HIGH POC
7.1 Aug 25

Path traversal in praisonaiagents prior to 1.6.58 allows a low-privileged caller to write arbitrary JSON files to any pr

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy