Skip to main content

Apache Thrift EUVDEUVD-2026-91417

| CVE-2026-85087 MEDIUM
Improper Certificate Validation (CWE-295)
2026-10-02 apache GHSA-3c88-xfrx-v3f7
6.9
CVSS 4.0 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain man-in-the-middle position on TLS path
  2. Exploit
    Present forged/invalid certificate
  3. Execution
    Improper validation accepts connection
  4. Impact
    Intercept and tamper with Thrift RPC data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
Exploitation Conditions

Exploitation requires the Apache Thrift Python bindings (before 0.25.0) to be used as a TLS client/server, and the attacker must hold an active man-in-the-middle position on the network path (reflected by AT:P and AC:H) to present a forged or invalid certificate that the improper validation logic fails to reject. It does not require authentication (PR:N) or user interaction (UI:N), but it is strictly limited to deployments that rely on Thrift's Python TLS transport for trust - systems not using TLS, or already protected by an independent certificate-pinning or network-isolation layer, are not realistically exposed. The need to first intercept the TLS connection is the key limiting factor that constrains real-world risk despite the network attack vector.

Impact

This is a moderate, conditional risk rather than an urgent priority. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N) describes a network-reachable, unauthenticated flaw, but the high attack complexity (AC:H) and present attack requirements (AT:P) signal that exploitation is not trivial - it depends on the attacker first achieving a privileged man-in-the-middle position on the TLS path, consistent with a CWE-295 improper certificate validation weakness. The vector reports VC:H/VI:H (high confidentiality and integrity impact) with VA:N, matching a scenario where an interceptor can read and tamper with Thrift RPC traffic once the broken validation is abused. All signals point away from mass exploitation: the embedded Exploit Maturity is E:U (unproven/no public exploit), there is no CISA KEV listing and no POC referenced, so this is not confirmed exploited. No standalone EPSS score was provided in the input, so probabilistic exploitation likelihood could not be weighed. There is no conflict between the CVSS vector and the description - both agree on a network-position-dependent MITM weakness - but defenders should treat the base score (6.9) as realistic only where Thrift Python TLS clients/servers are exposed to untrusted network paths.

Exploit ScenarioDerived

An attacker positioned on the network path between two systems using the Apache Thrift Python bindings over TLS presents a forged or invalid certificate; because the bindings validate certificates improperly, the connection is accepted instead of rejected. The attacker then transparently intercepts and can modify the Thrift RPC traffic, compromising confidentiality and integrity of exchanged data. No public exploit code is referenced, and the embedded CVSS maturity (E:U) indicates exploitation remains unproven.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 02, 2026

Improper TLS certificate validation in the Apache Thrift Python bindings (all versions before 0.25.0) allows a man-in-the-middle attacker to present a forged or otherwise invalid certificate and have it accepted, breaking the confidentiality and integrity guarantees of Thrift RPC traffic. Because the flaw also returns an incorrect status code on the failed validation path, code that inspects the returned status may mistakenly treat a rejected or malicious connection as legitimate. Exploitation is conditional rather than opportunistic: the attacker must already occupy a man-in-the-middle position on the network path (AT:P, AC:H) and the victim deployment must actually rely on Thrift's Python TLS transport for trust; authentication is not required (PR:N) and no user interaction is needed (UI:N). No public exploit code and no confirmed active exploitation were identified at the time of analysis, and the independent assessment rates this as a moderate, conditional risk rather than an urgent priority.

RemediationAI

Vendor-released patch: upgrade Apache Thrift (Python bindings) to version 0.25.0, which fixes the improper certificate validation and the incorrect status-code return; confirm the upgrade for every component that embeds the Thrift Python runtime, not just the top-level application. Where an immediate upgrade is not possible, the most effective compensating control is to stop depending on Thrift's own Python TLS implementation for trust: place the RPC endpoint behind a TLS-terminating proxy or sidecar that performs correct certificate verification and hostname checking, or front the connection with an authenticated tunnel (e.g. mTLS-terminating service mesh or VPN overlay), which confines the attacker's ability to reach the Thrift transport at all. As a narrower mitigation, deployments that can tolerate it should restrict the Thrift TLS listener to a trusted network segment and enforce certificate pinning at the application layer, so that a forged certificate is rejected independently of the vulnerable library - at the cost of added operational overhead when legitimate certificates rotate. Additional detail is available in the Apache advisories at https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1 and https://lists.apache.org/thread/l2rgp3dqhpy2w347forzdt9g7o2d6k0d.

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 client/server stubs for many languages, including Python. Its Python bindings ship a TLS transport (historically built on Python's ssl module / pyOpenSSL) that is responsible for verifying the peer's X.509 certificate chain and hostname. CWE-295 (Improper Certificate Validation) is the root cause class here: the validation logic fails to correctly reject certificates that should not be trusted, and in addition returns the wrong status code when validation fails, so the failure signal is not propagated reliably to the caller. The practical consequence is a trust-anchor failure - a certificate that is self-signed, expired, mismatched, or issued by an untrusted CA can be accepted, and application code that gates on the returned status may be misled. Note that only the TLS-client/server-verification path is affected; plain (non-TLS) Thrift transports, and deployments whose trust decision is enforced by an independent certificate-pinning or network-isolation layer, are not realistically exposed. The correct behavior - full chain validation, hostname matching, and an accurate error status - is restored in Apache Thrift 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 6.9 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:U
vuln.today AI 7.4 HIGH

AC:H and network vector because exploitation needs an attacker-controlled MITM position to abuse the broken cert validation; PR:N/UI:N as no auth or interaction is needed; C:H/I:H for interception and tampering, A:N as availability is unaffected.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
SUSE MEDIUM

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 02, 2026 - 12:02 EUVD
CVE Published
Oct 02, 2026 - 11:35 cve.org
MEDIUM 6.9

DescriptionCVE.org

Improper certificate validation, Return of wrong status code vulnerability in Apache Thrift python bindings.

This issue affects Apache Thrift: before 0.25.0.

Users are recommended to upgrade to version 0.25.0, which fixes the issue.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
widely used RPC framework but Python-binding TLS users are a subset
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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: Moderate

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