GNU Binutils CVE-2025-66865
HIGHAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted symbol/PE artifact to target
-
ExploitVictim runs c++filt/binutils demangler
-
ExecutionTrigger stack overflow in d_print_comp_inner
-
ImpactProcess 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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)AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
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.
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
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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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
Stack-based buffer overflow in the ihex_scan function in bfd/ihex.c in GNU binutils 2.24 and earlier allows remote attac
elflink.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.28, has a "member a
finish_stab in stabs.c in GNU Binutils 2.30 allows attackers to cause a denial of service (heap-based buffer overflow) o
Heap-based buffer overflow in the pe_print_edata function in bfd/peXXigen.c in GNU binutils 2.24 and earlier allows remo
readelf in GNU Binutils 2.28 is vulnerable to a heap-based buffer over-read while processing corrupt RL78 binaries. Rate
The _bfd_XXi_swap_aouthdr_in function in bfd/peXXigen.c in GNU binutils 2.24 and earlier allows remote attackers to caus
Stack-based buffer overflow in the srec_scan function in bfd/srec.c in GNU binutils 2.24 and earlier allows remote attac
The *regs* macros in opcodes/bfin-dis.c in GNU Binutils 2.28 allow remote attackers to cause a denial of service (buffer
The disassemble_bytes function in objdump.c in GNU Binutils 2.28 allows remote attackers to cause a denial of service (b
The setup_group function in bfd/elf.c in libbfd in GNU binutils 2.24 and earlier allows remote attackers to cause a deni
opcodes/rx-decode.opc in GNU Binutils 2.28 lacks bounds checks for certain scale arrays, which allows remote attackers t
The ieee_object_p function in bfd/ieee.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU
NVD
CVE.org
EPSS
GitHub
Exploit-DB