Skip to main content

Apache Thrift EUVDEUVD-2026-91561

| CVE-2026-94637 HIGH
Improper Handling of Highly Compressed Data (Data Amplification) (CWE-409)
2026-10-02 apache GHSA-r5wc-ghwh-wjv9
8.2
CVSS 4.0 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach network-exposed Thrift Go endpoint
  2. Delivery
    Send small highly-compressed payload
  3. Exploit
    Server decompresses amplified data
  4. Execution
    Memory/CPU exhaustion
  5. Impact
    Service 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

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

Apache Thrift 0 <0.25.0

Affected Packages

euvd apache_thrift fix: 0.25.0

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

Vendor (apache) PRIMARY 8.2 HIGH
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
vuln.today AI 5.9 MEDIUM

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat 7.5 HIGH

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 02, 2026 - 13:02 EUVD
CVE Published
Oct 02, 2026 - 11:49 cve.org
HIGH 8.2

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
Popular cross-language RPC framework, but Go bindings a narrower subset
Data Quality
5 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-91135 CRITICAL
9.2 Oct 02

Heap-based buffer overflow in the C++ THeaderTransport of Apache Thrift before 0.25.0 lets a remote, unauthenticated att

CVE-2026-83632 CRITICAL
9.2 Oct 02

Heap-based memory corruption in Apache Thrift versions before 0.25.0 lets unauthenticated remote attackers who can send

CVE-2026-86537 HIGH
8.7 Oct 02

Denial of service in Apache Thrift deployments that use the D language bindings before version 0.25.0, where malformed i

CVE-2026-94646 HIGH
8.7 Oct 02

Denial of service in the Apache Thrift Node.js bindings (all versions before 0.25.0) lets remote, unauthenticated attack

CVE-2026-93925 HIGH
8.7 Oct 02

Remote denial of service against Apache Thrift C++ deployments that use the THeaderProtocol is achievable by sending a c

CVE-2026-66081 HIGH
8.7 Oct 02

Remote, unauthenticated attackers can crash applications built against Apache Thrift's c_glib (C/GLib) language bindings

CVE-2026-66859 HIGH
8.7 Oct 02

Denial of service in Apache Thrift's c_glib (C/GLib) language bindings before 0.25.0, where a crafted or malformed messa

CVE-2026-83663 HIGH
8.7 Oct 02

Denial of service in Apache Thrift's Go bindings (all versions before 0.25.0) allows an unauthenticated remote peer to c

CVE-2026-83745 HIGH
8.7 Oct 02

Memory exhaustion in Apache Thrift's Node.js and D language WebSocket server transports (all versions before 0.25.0) let

CVE-2026-96277 HIGH
8.7 Oct 02

Uncaught exception handling in the Apache Thrift Ruby bindings lets unauthenticated remote attackers crash network-reach

CVE-2026-94658 HIGH
8.7 Oct 02

Inefficient algorithmic complexity (CWE-407) in Apache Thrift's Lua bindings prior to version 0.25.0 allows remote, unau

CVE-2026-87117 HIGH
8.7 Oct 02

Unauthenticated remote attackers can crash applications that use the Apache Thrift PHP bindings prior to version 0.25.0

Vendor StatusVendor

SUSE

Severity: Important

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