Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed Thrift RPC endpoint
-
DeliverySend message declaring oversized length
-
ExploitDeserializer pre-allocates excessive memory
-
ExecutionServer memory exhausted
-
ImpactService crash / denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
|
| Exploitation Conditions | Requires a reachable network endpoint running an application built on an affected Apache Thrift binding (Go, netstd, OCaml, Erlang, JavaME, Rust, C++, Java, Kotlin, or D, before 0.25.0) that deserializes attacker-controlled Thrift messages. No authentication, user interaction, or special configuration is needed (AV:N/AC:L/PR:N/UI:N) beyond the service accepting untrusted input. Exploitation is limited to availability impact (crash/memory exhaustion); it does not yield data access or code execution. Practical risk is confined to Thrift services exposed to untrusted or semi-trusted clients - internal-only services behind authenticated boundaries face reduced exposure. |
| Impact | This is a denial-of-service (resource exhaustion) vulnerability, not a code-execution or data-exposure flaw: the provided CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N, score 8.7 High) shows availability-only impact (VA:H) with no confidentiality or integrity impact (VC:N/VI:N). The vector is favorable to an attacker - network reachable, low complexity, no authentication, no user interaction - meaning any exposed Thrift endpoint that deserializes untrusted input can be targeted remotely by unauthenticated attackers. However, the real-world risk is bounded by the impact type: successful exploitation causes memory exhaustion / crash, not compromise of data or control. No EPSS score was provided, there is no CISA KEV listing, and no public exploit was identified, so there is currently no public exploit identified at time of analysis and no evidence of active exploitation. Note a data conflict: the input Tags label this 'Information Disclosure,' which contradicts the CVSS vector (VC:N - no confidentiality impact); this is a resource-exhaustion/DoS issue (CWE-789), and the tag appears mislabeled. Net assessment: a credible, easily-triggerable DoS that warrants timely patching for internet- or partner-facing Thrift services, but it is an availability concern rather than a critical breach-enabling flaw. |
| Exploit ScenarioDerived | An attacker sends a crafted Thrift message to an exposed RPC endpoint in which a declared field/collection/string size is set to an excessive value, causing the deserializer to pre-allocate a huge buffer before validating available input. The server exhausts available memory and crashes or becomes unresponsive, denying service to legitimate clients. Because the CVSS vector is AV:N/AC:L/PR:N/UI:N, this requires only network reach to a Thrift listener and no authentication; no public exploit code was identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Memory exhaustion in Apache Thrift before 0.25.0 lets unauthenticated remote attackers crash services that deserialize attacker-controlled Thrift messages, and the flaw is present across the Go, netstd, OCaml, Erlang, JavaME, Rust, C++, Java, Kotlin, and D language bindings. The supplied CVSS 4.0 vector (8.7 High) and the independent assessment (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) agree that impact is availability-only: no confidentiality or integrity loss, and no authentication, user interaction, or special configuration is required beyond a reachable endpoint that accepts untrusted Thrift input. No public exploit code was identified at time of analysis and the issue is not confirmed as actively exploited (CISA KEV); the vendor-released fix is version 0.25.0.
RemediationAI
Upgrade to Apache Thrift 0.25.0 as the primary and vendor-recommended fix (vendor-released patch: 0.25.0), covering all affected language bindings, and rebuild any application that statically links or vendors the generated/runtime library rather than assuming a package upgrade alone suffices; see the Apache advisories at https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1 and https://lists.apache.org/thread/7xqf651pvjykw0xr9vw0ooz0bwx7wzy7 for the official guidance. Where upgrading immediately is not possible, apply compensating controls in this order of practicality: enforce strict maximum message and frame sizes at the transport/configuration layer (for example Thrift TConfiguration maxMessageSize and maxFrameSize settings, or equivalent knobs in your binding) so oversized length prefixes are rejected before allocation, accepting that legitimate large payloads will start failing and will need to be split or the limits tuned per service; cap inbound request body size and connection duration at the fronting reverse proxy or load balancer, which adds latency and may break streaming or long-poll patterns; and isolate exposure by firewall/ACL rules or service-mesh policy so Thrift ports are reachable only from known application tiers, understanding this reduces the attack surface rather than eliminating the bug and will block legitimate cross-network clients if configured too narrowly. Additionally constrain blast radius with per-process memory limits (cgroup v2 memory.max, ulimit -v, or JVM/Go heap caps) and aggressive restart supervision so an OOM-killed worker is replaced without taking down co-located workloads, and monitor for repeated allocation-failure crashes as an indicator of exploitation attempts.
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
The root cause class is CWE-789 (Memory Allocation with Excessive Size Value), reinforced by the description's second classification of allocation of resources without limits or throttling (CWE-770). Apache Thrift is a cross-language RPC and serialization framework whose binary, compact, and JSON protocols frame messages using length prefixes and container/collection sizes embedded in the wire format; deserialization code in the affected bindings reads these attacker-controlled size values and proceeds to allocate buffers or grow collections based on them without adequately validating that the declared size is consistent with the actual remaining message data or with a configured upper bound. An attacker can therefore send a small crafted message declaring a very large size, forcing an oversized heap allocation (or repeated allocations) that triggers OOM kills, allocation failure exceptions, or process crashes. The CPE data identifies the affected component as cpe:2.3:a:apache_software_foundation:apache_thrift (ten near-identical CPE entries corresponding to the ten affected language bindings) across the pre-0.25.0 version range; ENISA EUVD-2026-91414 tracks the same issue as "Apache Thrift 0 <0.25.0". Note that one supplied tag reads "Information Disclosure", but neither the assessed vectors nor the vendor description support confidentiality impact, so that tag should not be treated as evidence of data exposure.
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:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Remote, low-complexity, unauthenticated message triggers excessive memory allocation causing DoS, so AV:N/AC:L/PR:N/UI:N with availability-only impact (A:H, C:N/I: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
Memory allocation with excessive size value, Allocation of resources without limits or throttling vulnerability in Apache Thrift Go, netstd, OCaml, Erlang, JavaME, Rust, C++, Java, Kotlin and D language 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, a widely used cross-language RPC framework, has a high-severity availability flaw that can let unauthenticated remote users crash services deserializing untrusted Thrift messages. The issue affects many language bindings and requires no credentials or user interaction, so any externally reachable or business-critical service on a vulnerable version may experience disruptive outages until upgraded. Leadership should prioritize discovery and remediation to version 0.25.0, especially for internet-facing endpoints.
Apply vendor patch.
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
Vendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
EUVD-2026-91414
GHSA-mh69-79fp-9fhm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB