Skip to main content

Apache Thrift Ruby CVE-2026-96277

| EUVDEUVD-2026-91574 HIGH
Uncaught Exception (CWE-248)
2026-10-02 apache GHSA-vgfv-p7x2-fp2x
8.7
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 Ruby endpoint
  2. Exploit
    Send malformed protocol message
  3. Execution
    Trigger uncaught exception in bindings
  4. Impact
    Crash service and deny availability

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
Exploitation Conditions

Exploitation requires a service that uses the Apache Thrift Ruby bindings (version before 0.25.0) to expose a network-reachable Thrift RPC endpoint that processes attacker-supplied protocol messages. Per the CVSS vector (AV:N/AC:L/PR:N/UI:N), no authentication, no user interaction, and no special configuration are needed - any reachable Thrift Ruby service parsing untrusted input is exposed. The primary limiting factor is deployment scope: only services specifically built on the Ruby language bindings are affected (not Thrift bindings for other languages), and impact is limited to availability (service crash/DoS) with no data exposure or code execution. Upgrading to 0.25.0 removes the condition.

Impact

This is a denial-of-service vulnerability (CWE-248 Uncaught Exception / Improper Handling of Exceptional Conditions) in the Apache Thrift Ruby bindings. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H) tells a consistent story: network-reachable, low complexity, no privileges or user interaction, with impact confined entirely to availability (VA:H) and zero confidentiality or integrity impact (VC:N/VI:N). The 8.7 score is driven solely by easy, unauthenticated remote triggering of a crash, not by data exposure or code execution. No EPSS score, CISA KEV listing, or public POC was provided in the intelligence, so there is no evidence of active exploitation or weaponization - this appears to be a real but availability-only priority rather than a critical compromise vector. Importantly, the 'Information Disclosure' tag in the input directly CONFLICTS with the CVSS vector, which shows VC:N (no confidentiality impact); the vector indicates this is a DoS, not an information-disclosure flaw, and the tag should be treated as mislabeled. Priority should be scaled to how exposed the Thrift Ruby service endpoints are and whether availability of those RPC services is business-critical.

Exploit ScenarioDerived

A remote attacker sends a malformed or crafted Thrift protocol message to a network-exposed service built on the Apache Thrift Ruby bindings. The library fails to properly handle the exceptional condition, raising an uncaught exception that terminates the handler or process, denying service to legitimate clients. No public exploit code was identified in the provided intelligence, and no authentication is required (PR:N).

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

Uncaught exception handling in the Apache Thrift Ruby bindings lets unauthenticated remote attackers crash network-reachable Thrift RPC services running any version before 0.25.0. Per the assessed vector (AV:N/AC:L/PR:N/UI:N), no credentials, user interaction, or special configuration are required: any reachable Thrift Ruby service that parses attacker-supplied protocol messages can be knocked offline, though impact is limited to availability with no confidentiality or integrity loss. The flaw carries a CVSS 4.0 score of 8.7 (High) and an assessed CVSS 3.1 of 7.5, and no public exploit identified at time of analysis; exposure is confined to deployments using the Ruby language bindings rather than Thrift bindings for other languages.

RemediationAI

Vendor-released patch: upgrade the Apache Thrift Ruby bindings to 0.25.0, the version Apache names as the fix (https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1 and https://lists.apache.org/thread/k1t5r9sz7k5tn57cnf5khw2ywlxv6098); update the thrift gem version pin in the Gemfile or gemspec and redeploy, since the vulnerable code lives in the Ruby library itself rather than in generated service stubs. If upgrading must be deferred, restrict network reachability of Thrift RPC endpoints to trusted clients via firewall rules or mutual TLS, at the cost of breaking legitimate public or partner-facing access; place a reverse proxy in front of the endpoint to rate-limit connections and blunt repeated crash attempts, recognizing that a single crafted message can still terminate the worker; and run the Ruby Thrift server under a supervisor such as systemd, a Kubernetes restart policy, or a process manager so that crashes are automatically recovered, accepting brief availability gaps after each crash. Short of patching, disabling or removing the affected Ruby RPC service entirely is the only control that fully removes the exposure.

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

The defect is classified as CWE-248 (Uncaught Exception) and stems from improper handling of exceptional conditions inside the Apache Thrift Ruby language bindings. Thrift is a cross-language RPC framework in which a transport layer and a wire protocol (binary, compact, or JSON) decode incoming bytes before dispatching them to generated Ruby service processors; when a malformed or unexpected message raises an exception that the Ruby server loop does not catch, the exception escapes the request-handling path and terminates the serving process instead of being converted into a Thrift application-level error returned to the caller. The CPE entry cpe:2.3:a:apache_software_foundation:apache_thrift:*:*:*:*:*:*:*:* combined with the vendor's statement that the issue affects versions before 0.25.0 indicates the flawed code path is present across all prior releases, but only services built on the Ruby bindings - not the Java, Python, C++, Go, or other language libraries - are reachable by the vulnerable code path. Version 0.25.0 contains the hardened exception handling that contains such conditions rather than letting them kill the server.

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.7 HIGH
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
vuln.today AI 7.5 HIGH

Remote, unauthenticated, low-complexity triggering of an uncaught exception causing a crash; availability-only impact (A:H) with no confidentiality or integrity effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/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 HIGH

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
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:03 cve.org
HIGH 8.7

DescriptionCVE.org

Uncaught exception, Improper Handling of Exceptional Conditions 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

A high-severity flaw in Apache Thrift Ruby bindings allows unauthenticated remote attackers to crash network-reachable RPC services, threatening availability for any internal or customer-facing application that relies on these bindings. No public exploit has been identified at the time of analysis, but with no vendor-released patch currently available, leadership should prioritize reducing exposure and safeguarding service uptime while awaiting remediation.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict network reachability to trusted sources, segment Thrift Ruby RPC services behind firewalls or API gateways, enforce rate limiting and malformed-message detection, monitor for crashes and restarts, and disable or migrate from Ruby bindings where feasible.

Threat Intelligence Overview

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

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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-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

CVE-2026-82458 HIGH
8.7 Oct 02

Memory exhaustion in Apache Thrift before 0.25.0 lets unauthenticated remote attackers crash services that deserialize a

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