Skip to main content

Apache Thrift EUVDEUVD-2026-91578

| CVE-2026-85476 HIGH
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-10-02 apache GHSA-g8vm-x5x9-xjwr
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 Thrift c_glib endpoint over network
  2. Delivery
    Send crafted malformed Thrift message
  3. Exploit
    Trigger loop with unreachable exit condition
  4. Execution
    Worker spins indefinitely consuming resources
  5. Impact
    Service denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
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

Exploitation requires that the target application use the Apache Thrift c_glib (C/GLib) language bindings at a version before 0.25.0 AND process attacker-reachable Thrift protocol input, since the infinite loop is triggered by a crafted/malformed message during decoding. The CVSS AT:P (attack requirements) flag indicates a specific input condition must be satisfied rather than any arbitrary traffic. Key limiting factors: applications using any other Thrift language binding (Java, Python, C++, Go, etc.) are NOT affected; the attacker must be able to deliver Thrift messages to the service; and impact is confined to availability (service hang/resource exhaustion) with no data exposure or code execution. Upgrading to 0.25.0 removes the condition.

Impact

This is a denial-of-service issue (CWE-835, unreachable loop exit) in the Apache Thrift c_glib bindings, rated CVSS 8.2 via a CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H). The vector confirms a network, unauthenticated, no-user-interaction path with impact limited strictly to availability (VA:H) - there is no confidentiality or integrity impact, so the 8.2 score is driven entirely by remote-triggerable availability loss. Importantly, the vector carries AT:P (attack requirements present), signaling that exploitation is not fully unconditional and depends on a specific triggering condition, which tempers the otherwise 'network/low-complexity/no-auth' profile. No EPSS score, no POC, and no CISA KEV entry were provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. Net assessment: this is a legitimate but moderate-priority availability bug - real for services that expose the c_glib binding to untrusted peers, but not a confidentiality/RCE emergency; prioritize patching for internet- or partner-facing Thrift c_glib services and treat internal-only deployments as routine. No SSVC decision data was supplied in the input, so automatable/exploitation status cannot be cross-referenced.

Exploit ScenarioDerived

An attacker who can send Thrift protocol messages to a service built on the vulnerable c_glib bindings submits a crafted/malformed payload that drives the decoder into a loop whose exit condition is never reached. The worker thread or process spins indefinitely (or consumes resources), rendering the service unresponsive to legitimate clients. No public proof-of-concept was identified in the provided data, and the CVSS AT:P flag indicates a specific malformed-input condition must be met to trigger the loop.

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 c_glib (C/GLib) language bindings, affecting all versions before 0.25.0, where a crafted or malformed Thrift message can drive the decoder into an infinite loop with an unreachable exit condition (CWE-835). The issue is remotely reachable and requires no authentication per the published CVSS 4.0 vector (PR:N), though the AT:P attack-requirements flag and our independent CVSS 3.1 assessment (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H) both indicate a specific input condition must be satisfied rather than arbitrary traffic. Impact is confined to availability - a hung thread, pinned CPU, or resource exhaustion that can stall or crash the service - with no data exposure, modification, or code execution; only applications that compile and use the c_glib bindings are affected, and no public exploit code has been identified at time of analysis. Upgrading to 0.25.0 removes the condition.

RemediationAI

Vendor-released patch: upgrade Apache Thrift to 0.25.0, which fixes the c_glib infinite loop; consult the advisories at https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1 and https://lists.apache.org/thread/1zdvscq7p3hf3z30s26h4tm9dvljm1jj for build and release details. If immediate upgrade is not possible, the most effective compensating control is to stop exposing c_glib-based Thrift endpoints to untrusted networks - restrict them to trusted clients via network ACLs, mTLS, or a service mesh, accepting the operational cost of reduced client reachability. As a secondary layer, run c_glib services under process supervision with per-request CPU and wall-clock timeouts (for example, cgroup CPU quotas, GLib main-loop deadlines, or a watchdog that restarts the worker on a stall), which converts a hard hang into a recoverable restart but does not eliminate the underlying loop and can drop in-flight requests. Where feasible, migrate the affected service to a Thrift binding that is not impacted (Java, C++, Go, or Python) from an equivalent release, as only the c_glib bindings contain this flaw; this requires a code and possibly ABI change in the client or server integration and should be validated for serialization compatibility before rollout.

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 that generates bindings for many languages; CVE-2026-85476 is specific to the c_glib bindings, the C implementation that links against GLib. The root cause is CWE-835, a loop with an unreachable exit condition: when a crafted or truncated Thrift protocol message is decoded by the c_glib reader, a control-flow path can fail to advance its state or never satisfy the loop's termination predicate, so the process spins indefinitely. Because the flaw lives in the generated C/GLib deserialization path rather than in the wire protocol itself, applications using the Java, Python, C++, Go, or other language bindings from the same Thrift release are not impacted. The CPE cpe:2.3:a:apache_software_foundation:apache_thrift:*:*:*:*:*:*:*:* reflects the upstream project scope, while the actual affected attack surface is limited to services exposing Thrift endpoints that were built with the c_glib runtime before 0.25.0.

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), but AC:H reflects the specific crafted-input condition (AT:P in 4.0); impact is availability-only, so C:N/I:N/A:H.

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

DescriptionCVE.org

Loop with unreachable exit condition ('infinite loop') vulnerability in Apache Thrift c_glib 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

A high-severity denial-of-service vulnerability in Apache Thrift's C/GLib language bindings (CVE-2026-85476) allows an unauthenticated remote attacker to stall or crash services that compile and use these bindings by sending a crafted Thrift message that triggers an infinite loop. Only applications using the c_glib bindings are affected, and exploitation requires a specific input condition, but successful attacks can pin CPU, hang threads, and exhaust resources, disrupting service availability. No public exploit identified at time of analysis, no vendor-released patch identified at time of analysis, and the vulnerability does not permit data exposure or code execution.

Business Impact: High
Compensating Controls

Implement input validation and rate limiting on Thrift endpoints, enforce resource limits (CPU, memory, thread pools) to contain infinite loops, monitor for hung threads or CPU spikes, and consider disabling or isolating c_glib bindings if not essential until version 0.25.0 is available.

Threat Intelligence Overview

EPSS Score
0.4%
Top 67% exploitable
Prevalence
Low
Only the c_glib (C/GLib) binding affected; niche versus Thrift's mainstream language bindings
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

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