GHSA-663r-q6wf-5j93
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Thrift Java RPC endpoint
-
ExploitSend deeply nested serialized message
-
ExecutionTrigger unbounded recursion in TProtocolUtil.skip()
-
ImpactExhaust stack and crash service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
|
| Exploitation Conditions | Requires a Java service using Apache Thrift (libthrift) before 0.24.0 that deserializes attacker-reachable Thrift input and invokes TProtocolUtil.skip() on unknown/unexpected fields - this is default skipping behavior, so no special configuration is needed and no authentication is indicated (PR:N). Exploitation is limited to the Java bindings specifically, and the impact is bounded to availability (stack-exhaustion DoS) with no confidentiality or integrity effect; the endpoint must accept attacker-supplied serialized Thrift data, so services that only exchange Thrift messages between trusted internal peers face materially lower real-world exposure. The only complete fix per the advisory is upgrading to 0.24.0. |
| Impact | The supplied CVSS 4.0 vector (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) describes a network-reachable, low-complexity, unauthenticated flaw whose entire impact is availability (VA:H) - this is a denial-of-service through uncontrolled recursion, with no confidentiality or integrity consequence. That single-dimension impact is the key nuance: despite the high base score, a successful attack crashes a service rather than exposing data or granting code execution. The decision signals are thin and consistent with low immediate urgency: the vuln.today Decision label is 'awaiting_data', there is no CISA KEV listing, no EPSS score is provided, and no exploit/PoC reference appears in the input - so there is no public exploit identified at time of analysis and no evidence of active exploitation. The practical risk is therefore concentrated on internet-exposed or multi-tenant Java Thrift services that deserialize untrusted input; for internal-only RPC between trusted services the real-world exposure is considerably lower. Note one tension to verify: the official vector uses AT:P (an attack requirement), but the described trigger - an attacker-crafted, deeply nested serialized message - appears to be fully within attacker control against default behavior, which would argue for AT:N; confirm the intended attack requirement with the vendor advisory. |
| Exploit ScenarioDerived | An attacker sends a specially crafted, deeply nested serialized Thrift message to a Java service built on libthrift before 0.24.0. When the service processes unknown or unexpected fields, TProtocolUtil.skip() recurses without a default depth limit, exhausting the thread stack and crashing or hanging the service (denial of service). No public exploit code is identified in the provided sources. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 31, 2026
Stack-exhaustion denial of service affects the Java bindings of Apache Thrift (org.apache.thrift:libthrift) before 0.24.0, where TProtocolUtil.skip() descends into nested container types without a default recursion depth limit. Unauthenticated remote attackers (PR:N in both the supplied CVSS 4.0 vector and the independently assessed CVSS 3.1 vector) who can get a Java Thrift service to deserialize crafted input - with unknown or unexpected fields that trigger the default skip path - can drive uncontrolled recursion until the stack is exhausted, producing a StackOverflowError; impact is confined to availability (VA:H) with no confidentiality or integrity effect. No public exploit code or PoC was identified in the supplied intelligence at time of analysis, and the vendor's only complete fix is upgrading to 0.24.0.
RemediationAI
Upgrade the Java bindings to Apache Thrift 0.24.0, which the advisory states is the fix for this issue and the only complete remediation identified; confirm the resolved org.apache.thrift:libthrift version in each service's dependency tree, since transitive resolution often pins an older release. Where upgrading cannot be completed immediately, reduce exposure by ensuring Thrift endpoints that accept serialized data are reachable only from trusted internal peers - the assessed exposure drops materially for services that exchange Thrift messages exclusively between trusted internal peers - understanding that this is a scope reduction rather than a fix and that any path accepting attacker-supplied Thrift payloads remains vulnerable to stack exhaustion. Refer to the oss-security advisory (https://seclists.org/oss-sec/2026/q4/456) and https://thrift.apache.org/ for the vendor's guidance; no workaround that removes the root cause is documented in the supplied sources, and note that exhaustion of a request-handling thread may degrade or terminate the affected service.
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 serialization and RPC framework built around an IDL that defines structs, exceptions and services; the Java runtime library (org.apache.thrift:libthrift) implements protocol readers/writers, and TProtocolUtil.skip() is the helper used to walk past fields a generated reader does not expect. Because skip() handles container types (struct, map, list, set) by recursing into their elements, deeply nested input causes stack growth proportional to nesting depth; without an enforced maximum depth, the default behavior reaches stack exhaustion and terminates the handling thread or process with a StackOverflowError. The flaw class is uncontrolled recursion (as stated in the advisory title), and the affected component is specifically the Java bindings - the CVSS 4.0 vector's AT:P indicates that specific attack requirements must be met: the target must deserialize attacker-reachable Thrift input through the vulnerable code path. No CPE strings were supplied with this record, so identification relies on the Maven coordinate and the version boundary of 0.24.0.
Know when Java 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
Unauthenticated network-reachable deserialization of a crafted nested message (AV:N/AC:L/PR:N/UI:N) causing stack-exhaustion DoS, so availability-only (A:H), no confidentiality/integrity impact.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
3Description PRE-NVD
Articles & Coverage 1
Executive ViewAI
A high-severity availability vulnerability in Apache Thrift's Java bindings (libthrift before 0.24.0) allows unauthenticated attackers to crash Java-based Thrift services by sending specially crafted input that exhausts the stack. This affects any Java service accepting Thrift messages, potentially causing service outages and disrupting business operations. Leadership should prioritize remediation to prevent downtime and maintain service reliability.
No vendor-released patch identified at time of analysis; no public exploit code or PoC was identified at time of analysis. Interim mitigations include restricting network access to Thrift endpoints, implementing input validation to reject deeply nested or malformed messages, and monitoring for service crashes indicative of stack exhaustion.
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
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-114735
NVD
CVE.org
EPSS
VulDB
Exploit-DB