Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach network-exposed Thrift Python endpoint
-
DeliveryCraft highly compressed/amplified payload
-
ExploitSubmit request triggering decompression
-
ExecutionMemory/CPU exhaustion in py bindings
-
ImpactService denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
|
| Exploitation Conditions | Exploitation requires a service that uses the Apache Thrift Python bindings (version before 0.25.0) and accepts externally supplied Thrift data that is decompressed or size-expanded during parsing; the AT:P metric reflects that the attacker needs the target to process such compressed/amplified input. No authentication is required (PR:N) and no user interaction (UI:N). Limiting factors: only services actually exposing a Thrift Python endpoint to untrusted input are affected, impact is confined to availability (no data disclosure or code execution), and upgrading to 0.25.0 removes the condition entirely. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) with score 8.2 describes a network-reachable, unauthenticated, low-complexity flaw whose only impact is availability (VA:H; VC:N/VI:N/VA:H), consistent with CWE-409 data-amplification (decompression/entity-expansion bomb) in the Apache Thrift Python bindings. The AT:P (attack requirements present) metric indicates exploitation is not fully unconditional - the target endpoint must accept and decompress attacker-supplied data - which tempers the otherwise high exposure. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation or weaponization: this reads as a genuine but availability-only DoS priority rather than a confirmed in-the-wild threat. One tagging inconsistency should be noted explicitly: the input carries an 'Information Disclosure' tag, yet the CVSS vector sets VC:N/VI:N and only VA:H, meaning this is a denial-of-service/availability issue with no confidentiality impact - the tag appears mislabeled and should not drive triage toward data-exposure concerns. |
| Exploit ScenarioDerived | An attacker sends a small but highly compressed or deeply nested payload (a 'bomb') to a network-exposed service built on the Apache Thrift Python bindings; when the library decompresses or expands the input without validating the declared size/quantity, memory and CPU are exhausted and the service becomes unavailable. Because the endpoint is reachable over the network without authentication, a single malicious request can degrade or crash the service. No public exploit code was identified at the time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Denial of service in Apache Thrift's Python bindings before 0.25.0 arises from improper handling of highly compressed data (CWE-409), letting a remote, unauthenticated attacker send a small compressed Thrift payload that expands dramatically during parsing and exhausts server memory or CPU. Exploitation requires a service that accepts externally supplied Thrift data and decompresses or size-expands it, and the impact is confined to availability with no data disclosure or code execution. No public exploit code has been identified at time of analysis, and upgrading to 0.25.0 eliminates the vulnerability.
RemediationAI
Upgrade to Apache Thrift 0.25.0, which is the vendor-released patch for CVE-2026-94636 and fully removes the vulnerability. If immediate upgrade is not possible, avoid accepting compressed Thrift payloads from untrusted sources where the application allows disabling decompression or size expansion; enforce strict memory and CPU quotas (e.g., container memory limits or process rlimits) on any service that parses Thrift data, and restrict network access to Thrift Python endpoints to trusted clients using firewall rules or network segmentation. These compensating controls have trade-offs: disabling decompression may break legitimate compressed payloads, and resource limits can still be bypassed if set too high, so they should be treated as temporary mitigations. See the vendor advisories at https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1 and https://lists.apache.org/thread/1rpq0d0g6yzjjzl1z27lwmvhzkn6rbrs for additional guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache Thrift is a cross-language remote procedure call (RPC) framework, and the affected component is its Python bindings. The root cause is CWE-409 (Improper Handling of Highly Compressed Data / Data Amplification), combined with a function call that receives incorrectly specified arguments and an improperly validated quantity field in the input. This means the Python parsing code fails to bound a size or length value before decompression or expansion, so a maliciously compressed or self-referential payload can inflate to consume far more resources than the input size suggests-a classic decompression bomb. The CPE cpe:2.3:a:apache_software_foundation:apache_thrift:*:*:*:*:*:*:*:* confirms that all versions of Apache Thrift are in scope, but the flaw specifically resides in the Python bindings before version 0.25.0. The CVSS 4.0 vector's AT:P metric reflects that the attacker must induce the target to process compressed or amplified input; no privileges or user interaction are needed (PR:N/UI:N), and only availability is impacted.
Know when Apache Thrift 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:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable, unauthenticated, low-complexity data-amplification DoS; impact is availability only (A:H) with no confidentiality or integrity effect.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
2DescriptionCVE.org
Improper handling of highly compressed data (data amplification), Function call with incorrectly specified arguments, Improper validation of specified quantity in input vulnerability in Apache Thrift py bindings.
This issue affects Apache Thrift: before 0.25.0.
Users are recommended to upgrade to version 0.25.0, which fixes the issue.
Executive ViewAI
Apache Thrift's Python bindings in all releases before 0.25.0 contain a high-severity availability flaw: a remote sender can submit a small compressed Thrift payload that expands dramatically during parsing and exhausts server memory or CPU on any service accepting externally supplied Thrift data. Organizations running Thrift-based Python services that are reachable from partners, customers, or the public internet are the ones materially exposed, while internal-only deployments carry lower risk. Because no vendor-released patch is available at this time, leadership should treat this as an operational resilience issue - there is no evidence of data disclosure, code execution, or public exploit code - and prioritize traffic-size limits, resource caps, and monitoring over incident response.
No vendor-released patch identified at time of analysis; interim mitigations include strict request payload size limits and decompression-ratio caps at the edge, disabling automatic expansion of externally supplied Thrift data, per-client rate limiting, container memory and CPU quotas with automatic restart, network restriction of exposed Thrift services, and alerting on OOM kills and CPU saturation. Upgrade to Apache Thrift 0.25.0 when released.
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
More in Apache Thrift
View allHeap-based buffer overflow in the C++ THeaderTransport of Apache Thrift before 0.25.0 lets a remote, unauthenticated att
Heap-based memory corruption in Apache Thrift versions before 0.25.0 lets unauthenticated remote attackers who can send
Denial of service in Apache Thrift deployments that use the D language bindings before version 0.25.0, where malformed i
Denial of service in the Apache Thrift Node.js bindings (all versions before 0.25.0) lets remote, unauthenticated attack
Remote denial of service against Apache Thrift C++ deployments that use the THeaderProtocol is achievable by sending a c
Remote, unauthenticated attackers can crash applications built against Apache Thrift's c_glib (C/GLib) language bindings
Denial of service in Apache Thrift's c_glib (C/GLib) language bindings before 0.25.0, where a crafted or malformed messa
Denial of service in Apache Thrift's Go bindings (all versions before 0.25.0) allows an unauthenticated remote peer to c
Memory exhaustion in Apache Thrift's Node.js and D language WebSocket server transports (all versions before 0.25.0) let
Uncaught exception handling in the Apache Thrift Ruby bindings lets unauthenticated remote attackers crash network-reach
Inefficient algorithmic complexity (CWE-407) in Apache Thrift's Lua bindings prior to version 0.25.0 allows remote, unau
Unauthenticated remote attackers can crash applications that use the Apache Thrift PHP bindings prior to version 0.25.0
EUVD-2026-91560
GHSA-25j2-4rc9-8hj6
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB