Skip to main content

Apache Thrift CVE-2025-48431

| EUVDEUVD-2025-209581 HIGH
Mismatched Memory Management Routines (CWE-762)
2026-04-28 apache
7.5
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

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

  1. Access
    Send crafted Thrift RPC request
  2. Delivery
    Trigger deserialization in c_glib binding
  3. Exploit
    Mismatched memory free operation
  4. Execution
    Server crash with invalid pointer error
  5. Impact
    Denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory management consistency
Exploitation Conditions

Requires Apache Thrift server implementation using c_glib language bindings specifically. Servers using Java, Python, C++, Go, Node.js, or other Thrift language bindings are NOT vulnerable. Target server must accept network connections (AV:N) from attacker. No authentication required (PR:N) - publicly accessible c_glib Thrift endpoints are directly exploitable. No user interaction needed (UI:N) - purely server-side vulnerability. Default configurations of vulnerable c_glib Thrift servers are exploitable without special setup. Attack is limited by targeting c_glib binding usage, which represents a subset of total Apache Thrift deployments - many organizations use Java or Python bindings instead, naturally limiting exposure scope.

Impact

CVSS 7.5 indicates high severity with network-accessible attack vector (AV:N), low complexity (AC:L), no privileges required (PR:N), and no user interaction (UI:N), suggesting easy remote exploitation. However, real-world risk signals paint a different picture. EPSS score of 0.02% (4th percentile) suggests extremely low probability of exploitation in the wild, indicating this is not being actively targeted despite theoretical ease. Not present in CISA KEV, confirming no known active exploitation. Impact is limited to availability (A:H) with no confidentiality or integrity impact (C:N/I:N), making this purely a denial-of-service issue. The vulnerability only affects systems using the c_glib language bindings specifically - Python, Java, C++, and other language bindings are not vulnerable. SSVC assessment: exploitation status is none, automatable (network/low complexity), technical impact is partial (DoS only). Prioritize mitigation for production c_glib Thrift servers exposed to untrusted networks; lower priority for internal-only or non-c_glib deployments. The disparity between CVSS severity and EPSS probability suggests this is a valid but not urgent patch unless running exposed c_glib Thrift services.

Exploit ScenarioDerived

Remote attacker crafts malicious Thrift RPC requests with payloads designed to trigger memory management mismatches in c_glib deserialization routines. Upon receipt, the vulnerable Thrift server attempts to free memory using an incompatible deallocation function, causing glibc to detect the invalid pointer and terminate the process with 'free(): invalid pointer' error. The server crashes immediately, denying service to legitimate users. Attacker can repeat requests to sustain denial of service. No public POC identified at time of analysis, but CVSS AC:L indicates straightforward exploitation once request structure is understood.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Apr 28, 2026

Remote unauthenticated denial of service in Apache Thrift c_glib language bindings (versions before 0.23.0) allows attackers to crash Thrift servers via specially crafted requests triggering 'free(): invalid pointer' fatal errors. CVSS 7.5 (HIGH) with network vector and low complexity. EPSS score is only 0.02% (4th percentile), indicating very low real-world exploitation probability despite theoretical severity. No active exploitation confirmed (not in CISA KEV); no public POC identified at time of analysis. Vendor-released patch: Apache Thrift 0.23.0.

RemediationAI

Upgrade to Apache Thrift version 0.23.0 or later, which contains the fix for mismatched memory management in c_glib bindings. Download from official Apache Thrift releases and verify checksums. Full vendor advisory with upgrade instructions available at https://lists.apache.org/thread/lb4j0zyd5f3g36cos0wql925przpnwql. If immediate upgrade is not feasible, implement network-level compensating controls: deploy rate limiting on Thrift endpoints to mitigate DoS impact (reduces attacker's ability to sustain crashes but does not prevent individual crashes); restrict Thrift server access to trusted networks only via firewall rules (eliminates remote attack vector but breaks internet-facing services); deploy monitoring for 'free(): invalid pointer' crashes with automatic service restart (maintains availability but does not prevent exploitation). Workaround trade-offs: rate limiting may impact legitimate high-volume clients; network restrictions require VPN/allowlist management overhead; auto-restart creates brief service interruptions and may mask ongoing attacks. Migration to a non-c_glib language binding (if application architecture permits) provides complete mitigation but requires code refactoring.

Affected VersionsENISA

Apache Thrift 0 <0.23.0

Affected Packages

euvd apache_thrift fix: 0.23.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 framework for scalable services. The c_glib language bindings provide GLib-based C implementations for Thrift servers. This vulnerability stems from CWE-762 (Mismatched Memory Management Routines), where memory allocated via one method is freed using an incompatible function. The specific CPE (cpe:2.3:a:apache_software_foundation:apache_thrift) identifies all Apache Thrift versions prior to 0.23.0 when using c_glib bindings. The memory mismatch causes invalid pointer dereferences during request processing, resulting in clean but fatal crashes with glibc's memory corruption detection triggering 'free(): invalid pointer' errors.

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 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat 7.5 HIGH

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

4
Patch released
Apr 28, 2026 - 18:40 nvd
Patch available
CVSS changed
Apr 28, 2026 - 15:22 NVD
7.5 (HIGH)
Patch available
Apr 28, 2026 - 11:01 EUVD
CVE Published
Apr 28, 2026 - 09:11 nvd
HIGH 7.5

DescriptionCVE.org

Mismatched Memory Management Routines vulnerability in Apache Thrift c_glib language bindings.

This issue affects Apache Thrift: before 0.23.0.

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

Description: Specially crafted requests can crash an c_glib-based Thrift server with a clean but fatal "free(): invalid pointer" error message.

Executive ViewAI

Why It Matters

Apache Thrift c_glib language bindings versions before 0.23.0 are vulnerable to unauthenticated remote denial of service attacks that can crash Thrift servers. Organizations using affected versions face service availability risk, though real-world exploitation probability remains low (EPSS 0.02%). Immediate patching is recommended to eliminate the attack vector.

Business Impact: High
Compensating Controls

Apply vendor patch. If immediate patching is constrained: (1) implement network-level access controls restricting Thrift service exposure to trusted networks only; (2) deploy rate limiting and connection throttling at the network edge to mitigate denial of service attempts; (3) monitor for abnormal request patterns and service crashes as interim detection.

Threat Intelligence Overview

EPSS Score
0.0%
Top 96% exploitable
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL 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 HIGH
CISA KEV No
Public POC No
EPSS 0.0%
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

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

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