Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach network-exposed Thrift Go endpoint
-
DeliverySend small highly-compressed payload
-
ExploitServer decompresses amplified data
-
ExecutionMemory/CPU exhaustion
-
ImpactService denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
|
| Exploitation Conditions | The target must run a service using the Apache Thrift Go bindings (before 0.25.0) that accepts attacker-supplied compressed data - i.e., a compressed transport layer (such as zlib) is in use and reads untrusted input. The CVSS 'AT:P' metric reflects this: exploitation is not possible against configurations that do not accept compressed input over the affected transport. Limiting factors: impact is availability-only (service crash/hang, no code execution or data exposure), and services not deployed with the Go bindings or not accepting external compressed payloads are not exposed. No authentication (PR:N) or user interaction (UI:N) is required where the condition holds. |
| Impact | This is a denial-of-service vulnerability (CWE-409 data amplification / decompression bomb) in the Apache Thrift Go bindings. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H) scores 8.2 and is internally consistent with a resource-exhaustion DoS: network-reachable, unauthenticated, no user interaction, with impact confined to availability (VA:H) and zero confidentiality or integrity impact (VC:N/VI:N). The 'AT:P' (Attack Requirements: Present) metric signals that exploitation is not entirely condition-free - a specific precondition (a compressed transport accepting untrusted input) must hold - which tempers the otherwise fully-remote profile. No EPSS score, CISA KEV listing, or public POC was provided, so there is no evidence of active exploitation; status is 'no public exploit identified at time of analysis.' Note a tagging conflict: the input Tags include 'Information Disclosure,' which contradicts the CVSS vector (VC:N - no confidentiality impact) and the CWE - this is an availability/DoS issue, not disclosure, and the tag appears mislabeled. Overall this is a legitimately high-scoring availability bug but not an emergency: the impact is DoS only (no RCE or data theft), no exploitation is confirmed, and a straightforward vendor patch exists. Prioritize for prompt patching on internet-exposed Thrift Go services rather than as a drop-everything incident. |
| Exploit ScenarioDerived | An attacker sends a small, highly compressed (e.g., zlib) Thrift payload to a network-reachable service built on the vulnerable Go bindings; on decompression the data expands enormously, exhausting memory or CPU and crashing or hanging the service. No authentication or user interaction is required, but the service must be accepting untrusted compressed input. 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 Go bindings (versions before 0.25.0) lets unauthenticated remote attackers exhaust memory or CPU by sending highly compressed payloads over a compressed transport, so a tiny request expands into a disproportionately large in-memory buffer (CWE-409 data amplification / decompression bomb). Exploitation is conditional: per the vendor's CVSS 4.0 score the AT:P metric applies, meaning the affected service must actually accept attacker-supplied compressed data (for example a zlib-backed transport carrying untrusted input) - deployments of the Go bindings that do not parse compressed payloads from external sources are not exposed. Impact is availability-only (service crash, hang, or memory exhaustion) with no code execution or data disclosure; no public exploit code and no confirmed active exploitation were identified at time of analysis, and our independent assessment uses a 3.1 vector of AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H reflecting that precondition.
RemediationAI
Vendor-released patch: Apache Thrift 0.25.0 - upgrade the Go bindings to 0.25.0 (or later) and rebuild dependent services, then confirm via go.mod / go.sum or your vendored tree that no module still resolves to a pre-0.25.0 version. Because the fix is version-based and advisory details are sparse, re-verify after upgrading that genuinely hostile amplification input is now rejected. Where immediate upgrade is not possible, the most effective compensating control is to stop accepting compressed data from untrusted peers: disable the zlib or other compressed transport on externally reachable endpoints, or terminate compression at a trusted proxy that enforces decompressed-size limits - the trade-off is increased bandwidth and possible incompatibility with clients that require compression, so this is best scoped to internet-facing listeners. Additional measures: enforce application- or proxy-level request body caps and maximum decompressed size/ratio thresholds before any Thrift-level parsing; set Thrift TConfiguration message/frame size limits where available, noting that pre-0.25.0 frame limits may be checked against the compressed frame rather than the inflated output and therefore serve only as partial protection; and confine the service with memory cgroup limits, ulimits, and restart supervision, accepting that these convert memory exhaustion into an OOM kill or restart rather than a clean protocol-level rejection. Rate-limiting and network ACLs to trusted clients reduce exposure but do not remove it. Consult the vendor advisories at https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1 and https://lists.apache.org/thread/6hxll1jcnod9gfr225tz7my08lpj3jmt for any updated 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
CWE-409 (Improper Handling of Highly Compressed Data) is a resource-consumption class: the code accepts a compressed stream and decompresses it without bounding the output size or the compression ratio, so an attacker controls a large amplification factor between bytes sent and bytes allocated. The affected component is the Apache Thrift Go bindings, where compressed transports (e.g. zlib-based transports layered under the Thrift protocol stack) decompress frames received from the peer; because a Thrift client or server built on the Go library will transparently inflate whatever the remote side sends, any service exposing such an endpoint to untrusted input inherits the amplification risk. The CPE entry cpe:2.3:a:apache_software_foundation:apache_thrift:*:*:*:*:*:*:*:* is language-agnostic and therefore also matches Thrift distributions that are not affected, so exposure should be confirmed by checking whether the Go bindings are in use and whether a compressed transport accepts remote data. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VA:H, with VC:N/VI:N and all subsequent-threat metrics undefined) agrees with our independent 3.1 assessment on the essentials: network-reachable, unauthenticated, availability-only, with the AT:P / AC:H style precondition that a compressed-input path must exist. The 0.25.0 release is the vendor-designated fix; the advisories do not detail the internal change, so the specific bounding mechanism (maximum decompressed size, ratio cap, or streaming limit) is not independently confirmed from the supplied data.
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
Remote unauthenticated DoS with availability-only impact; AC:H reflects the required compressed-transport precondition (mapped from 4.0 AT:P), and C/I are N.
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) vulnerability in Apache Thrift Go 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 Go bindings (versions before 0.25.0) contain a high-severity denial-of-service vulnerability that allows unauthenticated attackers to exhaust memory or CPU by sending compressed payloads, potentially causing service crashes or hangs. This affects only deployments that accept compressed data from untrusted sources, such as those using zlib-backed transports. Leadership should care because successful exploitation could lead to prolonged service outages, impacting customers and business operations.
No vendor-released patch identified at time of analysis. Interim mitigations: disable compressed transports for untrusted input, enforce strict input validation and size limits, segment affected services, monitor for anomalous memory/CPU usage, and apply rate limiting. Upgrade to Apache Thrift 0.25.0 or later when available.
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-91561
GHSA-r5wc-ghwh-wjv9
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB