Skip to main content

Apache Thrift CVE-2026-94656

| EUVDEUVD-2026-91571 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-02 apache GHSA-5crp-5wrf-7x8j
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 exposed Thrift Ruby endpoint
  2. Delivery
    Send message declaring oversized structures
  3. Exploit
    Parser allocates resources without limit
  4. Execution
    Memory/resource exhaustion
  5. Impact
    Service denial of availability

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.

Exploitation Conditions

Requires a network-reachable service that uses the Apache Thrift Ruby bindings (version before 0.25.0) to deserialize messages from untrusted clients; the flaw triggers when such a service parses attacker-controlled input whose declared structure/container sizes cause unbounded resource allocation. Exploitation is unauthenticated (PR:N) and needs no user interaction (UI:N), but the CVSS 4.0 AT:P metric indicates a specific attack requirement - the endpoint must actually accept and parse untrusted Thrift messages. Limiting factors: only services exposing Thrift Ruby endpoints to untrusted input are affected, impact is confined to availability (no data disclosure or modification), and deployments that front Thrift with size/rate limits or that only accept trusted internal traffic materially reduce exposure.

Impact

This is a CWE-770 (allocation of resources without limits/throttling) denial-of-service flaw in the Ruby bindings of Apache Thrift, scored 8.2 (High) under CVSS 4.0 with vector AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H. The signals are internally consistent and point to a network-reachable, unauthenticated availability-only issue: VC:N/VI:N mean no confidentiality or integrity exposure, while VA:H reflects full availability loss (resource/memory exhaustion). The AT:P (attack requirement present) metric is the key moderating signal - exploitation is not purely trivial against any deployment; it depends on a reachable Thrift Ruby endpoint that deserializes attacker-controlled messages. No EPSS score was provided, the CVE is NOT on CISA KEV, and no POC is referenced, so there is no public exploit identified at time of analysis - the 8.2 rating is driven by impact and reachability rather than observed exploitation. Net assessment: a genuine availability concern for services that expose Thrift Ruby endpoints to untrusted input, but a lower operational priority than a code-execution or data-exposure bug of similar score, and it should be patched as part of normal maintenance rather than treated as emergency. Missing data to note explicitly: EPSS probability is absent and exploitation maturity is unknown, so real-world exploitation likelihood cannot be quantified from the provided data.

Exploit ScenarioDerived

An attacker who can reach a service built on the Apache Thrift Ruby bindings sends crafted messages (e.g., declaring very large collection/container sizes) that the parser allocates without enforcing limits, driving memory/CPU exhaustion. Repeated or sustained requests exhaust server resources and crash or hang the service, denying availability to legitimate clients. No public exploit code is referenced in the provided data.

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

Unbounded resource allocation in the Ruby bindings of Apache Thrift (versions before 0.25.0) lets unauthenticated remote clients exhaust server memory or CPU by sending Thrift messages whose declared structure or container sizes trigger excessive allocation while the service deserializes them. Only network-reachable services that actually accept and parse untrusted Thrift payloads through the Ruby bindings are exposed, and the impact is confined to availability, with no data disclosure or modification (C:N/I:N/A:H). The Apache Software Foundation has released 0.25.0 as the fix; no public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor rates this 8.2 (High) under CVSS 4.0, while our independent assessment also treats it as High severity but notes a higher attack complexity (AC:H in v3.1 terms) because the attacker must reach a service that parses untrusted Thrift messages.

RemediationAI

Vendor-released patch: upgrade to Apache Thrift 0.25.0 or later, which fixes the unbounded allocation behavior in the Ruby bindings; the release announcement and advisory are at https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1 and https://lists.apache.org/thread/lg97w2yvg3c6z06l8m5xs3j3v2m6mvj8. If the upgrade cannot be applied immediately, reduce exposure by restricting Thrift Ruby endpoints to trusted internal networks or mTLS-authenticated clients so that only vetted peers can submit messages, accepting that this breaks legitimate external client access. Enforce strict message and frame size limits and request rate throttling at the transport or reverse-proxy layer in front of the Thrift service, and cap per-connection memory/CPU quotas; the trade-off is that oversized but legitimate payloads will be rejected and latency may increase, so thresholds must be tuned to real traffic. Where the Ruby bindings are not required, remove or disable them so the vulnerable deserialization path is not reachable, and avoid exposing raw Thrift ports directly to untrusted networks; note that these compensating controls reduce but do not eliminate the risk, since they depend on the proxy or network layer correctly bounding all inbound message sizes.

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

Apache Thrift is a cross-language RPC and serialization framework in which an IDL definition generates client and server code for many language bindings, including Ruby. The flaw is a CWE-770 (Allocation of Resources Without Limits or Throttling) weakness in the Ruby bindings: when deserializing untrusted messages, the bindings honor attacker-declared sizes for containers and structures without enforcing bounds or throttling, so a single crafted message can drive disproportionate memory or CPU consumption and degrade or stop the service. The CVSS 4.0 vector AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H with the AT:P (attack requirements: present) metric and our independent CVSS 3.1 vector AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H both describe the same practical precondition: the target must expose a Thrift endpoint that deserializes attacker-controlled data using the Ruby bindings, which is why the effective complexity is higher than a blind remote attack. The Cloud Product Enumeration entry cpe:2.3:a:apache_software_foundation:apache_thrift:*:*:*:*:*:*:*:* uses a wildcard version range consistent with the advisory statement that all releases before 0.25.0 are affected; because the defect is specific to the Ruby bindings, services implemented in other Thrift language bindings are not affected by this particular issue. There is no confidentiality or integrity impact, and the weakness is a resource-exhaustion/denial-of-service class rather than memory corruption or code execution.

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

Network-reachable and unauthenticated (AV:N/PR:N); AC:H reflects the CVSS 4.0 AT:P attack requirement; availability-only impact (A:H, C/I:N) with no scope change.

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

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 - 12:00 cve.org
HIGH 8.2

DescriptionCVE.org

Allocation of resources without limits or throttling vulnerability in Apache Thrift ruby 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 Ruby bindings, in versions before 0.25.0, allow a remote client to exhaust server memory or CPU simply by sending malformed or oversized Thrift messages, degrading or taking down any network-reachable service that parses untrusted Thrift payloads. The impact is confined to availability - no data disclosure or modification - and there is no public exploit identified at time of analysis, so the exposure is business interruption rather than breach. Leadership should care because any customer-facing or transaction-critical Ruby service built on Thrift can be knocked offline at will, and remediation requires upgrading the dependency in every affected service.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
widely used RPC framework, but Ruby bindings are 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
No
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

Attack Technique

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

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
Product Status
openSUSE Tumbleweed Fixed

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