Skip to main content

GNU Binutils CVE-2025-66865

HIGH
Stack-based Buffer Overflow (CWE-121)
2025-12-29 cve@mitre.org
High
Disputed · 7.5 Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted symbol/PE artifact to target
  2. Exploit
    Victim runs c++filt/binutils demangler
  3. Execution
    Trigger stack overflow in d_print_comp_inner
  4. Impact
    Process crashes (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Stack buffer bounds checking
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the GNU Binutils C++ demangler (libiberty cp-demangle.c) to process an attacker-controlled mangled symbol - in practice a victim or automated pipeline must invoke a demangling tool such as c++filt (or nm/objdump with demangling) against the crafted input, per the referenced crash PoC. Limiting factors: attacker must get the malicious symbol/file to a system that actually runs the demangler, and the impact is confined to crashing that single tool/process (no code execution, no confidentiality or integrity loss); it affects binutils 2.26 specifically, so patched/newer toolchains are not implicated by this record.

Impact

Signals conflict and the real-world priority is modest. The input CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) scores 7.5 purely from a High availability impact, but the vulnerability is in the C++ symbol demangler (d_print_comp_inner in cp-demangle.c, part of libiberty) and the only reference is a c++filt crash PoC - this is a local file/symbol-parsing bug, not a network-facing service, so AV:N and UI:N appear overstated (verify: the published PoC triggers via cxxfilt processing attacker-supplied input, implying local/UI-dependent access rather than true remote). The impact is also a single-process crash of a command-line tool, not loss of a system service, so A:H is arguably generous (A:L is more defensible). EPSS is low at 0.38% (30th percentile) and the CVE is NOT in CISA KEV, consistent with no evidence of real-world exploitation; publicly available exploit code exists but PoC availability is not active exploitation. Net: a genuine but low-severity DoS in a build-time/analysis utility - treat as a maintenance-priority patch, not an incident, as the headline 7.5 overstates operational risk for most deployments.

Exploit ScenarioDerived

An attacker crafts a malformed mangled C++ symbol (or a binary/PE object containing one) and induces a victim or automated pipeline to run c++filt or another binutils tool that invokes the demangler against it, causing a stack buffer overflow in d_print_comp_inner that crashes the process. Publicly available exploit/crash PoC exists (CRGF-Vul crash4). The practical path is local or supply-chain (e.g., a CI job demangling symbols from an untrusted artifact) rather than remote-unauthenticated despite the AV:N label.

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 13, 2026

Denial of service in GNU Binutils 2.26 occurs when the C++ demangler processes crafted mangled symbols, and the real-world priority is modest because the assessed vector is local with user interaction and low availability impact. Publicly available exploit code exists (the referenced GitHub crash PoC), but no CISA KEV active exploitation is confirmed and EPSS is 0.38% (30th percentile). The affected component is the libiberty C++ demangler in cp-demangle.c, and exploitation can crash the demangling tool or process without assessed confidentiality or integrity loss.

RemediationAI

No vendor-released patch version is identified in the provided intelligence for CVE-2025-66865, and the record is scoped to GNU Binutils 2.26; the practical remediation is to move off 2.26 to a currently maintained Binutils release once an exact fixed version is confirmed through vendor advisories. Until then, avoid running c++filt, nm -C/--demangle, objdump -C/--demangle, or similar demangling tools against untrusted PE files or symbol data, and sandbox any required demangling pipeline with least privilege and resource limits such as containers or process crash isolation. Disabling demangling options avoids the vulnerable code path but reduces symbol readability and may break debugging or symbol-resolution workflows; monitor the referenced PoC (https://github.com/caozhzh/CRGF-Vul/blob/main/cxxfilt/crash4.md) and upstream Binutils guidance for patch information.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is in GNU Binutils 2.26's libiberty C++ demangler, specifically function d_print_comp_inner in cp-demangle.c; CPE cpe:2.3:a:gnu:binutils:2.26:*:*:*:*:*:*:* scopes the affected build. The CWE-121 mapping indicates a stack-based buffer overflow reached while processing an attacker-controlled mangled symbol from a crafted PE file, typically through a demangling utility such as c++filt or demangling modes in nm and objdump. The supplied NVD-style score is 7.5, but the authoritative independent assessment reclassifies this as CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L, meaning local delivery and user interaction are required and the practical consequence is a process crash rather than code execution.

Know when Binutils 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

Sources disagree (Low–High)
Vendor (mitre) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 3.3 LOW

Triggered only when a user/pipeline runs the demangler on crafted input, so AV:L and UI:R; crash of a single CLI process is A:L with no C/I impact.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Red Hat 3.3 LOW

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: mitre

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

DescriptionCVE.org

An issue was discovered in function d_print_comp_inner in file cp-demangle.c in BinUtils 2.26 allows attackers to cause a denial of service via crafted PE file.

Executive ViewAI

Why It Matters

CVE-2025-66865 affects GNU Binutils 2.26, where its C++ demangler can crash the demangling tool or process when handling crafted mangled symbols, creating a limited denial-of-service risk for teams that debug, build, or analyze binaries. Because exploitation requires local access and user interaction and has low availability impact with no assessed confidentiality or integrity loss, leadership should view this primarily as a workflow-disruption issue rather than a broad enterprise compromise risk. Publicly available exploit code exists, but the vulnerability is not listed in CISA KEV and EPSS is very low, so near-term business impact is constrained while no vendor-released patch has been identified at time of analysis.

Business Impact: Low
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting or disabling C++ demangling of untrusted mangled symbols, isolating the demangler in a sandboxed low-privilege process or container with resource limits and crash monitoring, minimizing local user interaction with untrusted binaries, and monitoring GNU Binutils/vendor channels for a fixed release.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
High
GNU Binutils ships in nearly all Linux toolchains and build pipelines
Exploit
POC
Public exploit code exists
Data Quality
4 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 Yes
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· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Low

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

A stack-based buffer overflow occurs when a program writes more data to a buffer located on the stack than it was allocated to hold.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Affected Products (CPE)CVE.org

cpe:2.3:a:gnu:binutils:2.26:*:*:*:*:*:*:*
CVE-2014-8503 HIGH POC
7.5 Dec 09

Stack-based buffer overflow in the ihex_scan function in bfd/ihex.c in GNU binutils 2.24 and earlier allows remote attac

CVE-2017-7614 CRITICAL POC
9.8 Apr 09

elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has a "member a

CVE-2018-12699 CRITICAL POC
9.8 Jun 23

finish_stab in stabs.c in GNU Binutils 2.30 allows attackers to cause a denial of service (heap-based buffer overflow) o

CVE-2014-8502 HIGH POC
7.5 Dec 09

Heap-based buffer overflow in the pe_print_edata function in bfd/peXXigen.c in GNU binutils 2.24 and earlier allows remo

CVE-2017-6969 CRITICAL POC
9.1 Mar 17

readelf in GNU Binutils 2.28 is vulnerable to a heap-based buffer over-read while processing corrupt RL78 binaries. Rate

CVE-2014-8501 HIGH POC
7.5 Dec 09

The _bfd_XXi_swap_aouthdr_in function in bfd/peXXigen.c in GNU binutils 2.24 and earlier allows remote attackers to caus

CVE-2014-8504 HIGH POC
7.5 Dec 09

Stack-based buffer overflow in the srec_scan function in bfd/srec.c in GNU binutils 2.24 and earlier allows remote attac

CVE-2017-9749 HIGH POC
7.8 Jun 19

The *regs* macros in opcodes/bfin-dis.c in GNU Binutils 2.28 allow remote attackers to cause a denial of service (buffer

CVE-2017-9746 HIGH POC
7.8 Jun 19

The disassemble_bytes function in objdump.c in GNU Binutils 2.28 allows remote attackers to cause a denial of service (b

CVE-2014-8485 HIGH POC
7.5 Dec 09

The setup_group function in bfd/elf.c in libbfd in GNU binutils 2.24 and earlier allows remote attackers to cause a deni

CVE-2017-9750 HIGH POC
7.8 Jun 19

opcodes/rx-decode.opc in GNU Binutils 2.28 lacks bounds checks for certain scale arrays, which allows remote attackers t

CVE-2017-9748 HIGH POC
7.8 Jun 19

The ieee_object_p function in bfd/ieee.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU

Vendor StatusVendor

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