CVE-2018-18700
MediumCVSS 5.5Exploitation Probability (EPSS)
High risk77th percentile - higher than 77% of all known CVEs
Summary
An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions d_name(), d_encoding(), and d_local_name() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.
Risk Assessment
An attacker can cause a crash or hang in applications processing untrusted ELF files (e.g., nm, objdump), leading to denial of service. In environments handling untrusted input, this may disrupt critical processes.
Recommendation
Update GNU Binutils to a version containing the fix or avoid processing untrusted ELF files with vulnerable tools. Consider restricting access to binutils tools for untrusted users.
Other vulnerabilities in GNU Binutils
See all- CVE-2025-69648Medium
GNU Binutils through 2.45.1 contains a denial-of-service vulnerability in readelf when processing a crafted binary with malformed DWARF .debug_rnglists data. A logic flaw in the DWARF parsing path causes readelf to repeatedly print the same warning without forward progress, resulting in a non-terminating output loop requiring manual interruption. No evidence of memory corruption or code execution was observed.
- CVE-2025-69647Medium
GNU Binutils readelf through 2.45.1 contains a denial-of-service vulnerability when processing a crafted binary with malformed DWARF loclists data. A logic flaw causes readelf to repeatedly print the same table output without progress, resulting in an unbounded output loop.
- CVE-2025-69652Medium
GNU Binutils through 2.46 readelf contains a vulnerability that leads to an abort (SIGABRT) when processing a crafted ELF binary with malformed DWARF abbrev or debug information. Due to incomplete state cleanup in process_debug_info(), an invalid debug_info_p state may propagate into DWARF attribute parsing routines, and an unexpected data length of zero triggers a fatal abort in byte_get_little_endian().
- CVE-2025-69651Medium
GNU Binutils through 2.46 readelf contains a vulnerability that leads to an invalid pointer free when processing a crafted ELF binary with malformed relocation or symbol data. The internal all_relocations array may remain partially uninitialized, and later process_got_section_contents() may attempt to free an invalid r_symbol pointer, triggering memory corruption checks in glibc and causing the program to terminate with SIGABRT. The impact is limited to denial of service; the issue is disputed by third parties because the observed behavior occurred only in pre-release code and did not affect any tagged version.
- CVE-2025-69646Medium
Binutils objdump contains a denial-of-service vulnerability when processing a crafted binary with malformed DWARF debug_rnglists data. A logic error in handling the debug_rnglists header causes objdump to repeatedly print the same warning and fail to terminate.
- CVE-2025-69644Medium
An issue was discovered in Binutils before 2.46. The objdump contains a denial-of-service vulnerability when processing a crafted binary with malformed debug information. A logic flaw in the handling of DWARF location list headers can cause objdump to enter an unbounded loop and produce endless output until manually interrupted. This allows a local attacker to cause excessive resource consumption by supplying a malicious input file.
- CVE-2025-1152Low
In GNU Binutils 2.43, the xstrdup function in xstrdup.c of the ld component causes a memory leak. The attack can be launched remotely but has high complexity and is difficult to exploit. The exploit has been publicly disclosed and may be used.
- CVE-2017-17126High
The load_debug_section function in readelf.c in GNU Binutils 2.29.1 allows remote attackers to cause a denial of service (invalid memory access and application crash) or possibly have unspecified other impact via an ELF file that lacks section headers.
- CVE-2017-17125High
GNU Binutils 2.29.1 has a mishandling issue with certain global symbols in nm.c and objdump.c, which can lead to application crashes or denial of service.
- CVE-2017-17124High
The _bfd_coff_read_string_table function in the BFD library (libbfd) in GNU Binutils 2.29.1 does not properly validate the size of the external string table, which can lead to denial of service or buffer overflow.
Original NVD description (English source)
An issue was discovered in cp-demangle.c in GNU libiberty, as distributed in GNU Binutils 2.31. There is a stack consumption vulnerability resulting from infinite recursion in the functions d_name(), d_encoding(), and d_local_name() in cp-demangle.c. Remote attackers could leverage this vulnerability to cause a denial-of-service via an ELF file, as demonstrated by nm.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

