PatchSiren cyber security CVE debrief
CVE-2016-4491 Gnu CVE debrief
CVE-2016-4491 is a denial-of-service issue in GNU libiberty's C++ demangling code. The vulnerable d_print_comp function in cp-demangle.c can recurse indefinitely and overflow a buffer when given a crafted binary, leading to a segmentation fault and crash. NVD classifies the issue as medium severity and maps it to CWE-119. The CVE was published on 2017-02-24, while the referenced patch discussion and issue tracking entries date to May 2016.
- Vendor
- Gnu
- Product
- Libiberty
- CVSS
- MEDIUM 5.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2017-02-24
- Original CVE updated
- 2026-05-13
- Advisory published
- 2017-02-24
- Advisory updated
- 2026-05-13
Who should care
Teams that ship or embed GNU libiberty, libiberty-based tooling, or demangling functionality should review this CVE. That includes maintainers of build systems, analysis tools, and any software that processes untrusted binaries and may invoke cp-demangle or related symbol handling paths.
Technical summary
According to the CVE record, the issue is in d_print_comp in cp-demangle.c within libiberty. A crafted binary can cause a node to have itself as an ancestor more than once, which triggers infinite recursion and a buffer overflow. The observable impact is a crash/segmentation fault and denial of service. NVD's CVSS vector is CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H, and the weakness is classified as CWE-119.
Defensive priority
Medium. This is a denial-of-service vulnerability rather than a data exposure or code execution issue in the supplied record, but it can still disrupt tooling that handles untrusted binaries. Prioritize if libiberty-backed components are exposed to attacker-controlled inputs or are part of build, parsing, or analysis pipelines.
Recommended defensive actions
- Identify whether your software ships, links against, or vendors GNU libiberty components, especially cp-demangle.c / d_print_comp paths.
- Apply the upstream fix or vendor patch referenced in the GNU patch discussion and oss-security thread.
- Limit or sandbox processing of untrusted binaries in workflows that invoke symbol demangling or related parsing code.
- Monitor for repeated crashes in demangling or binary-analysis tooling and treat them as a potential sign of this issue.
- Track downstream packages that may embed libiberty rather than relying only on a system-provided copy.
Evidence notes
Supported facts come from the NVD CVE record and its referenced GNU and OSS-security links. The CVE description states the crash is triggered by crafted binary input and is related to infinite recursion and a buffer overflow in d_print_comp. NVD lists the affected CPE as cpe:2.3:a:gnu:libiberty:*:*:*:*:*:*:*:* and classifies the weakness as CWE-119. The cited references include the oss-security post, GCC bug 70909, and the GCC patch thread from May 2016.
Sources and references
Verified primary and authoritative sources
-
CVE-2016-4491 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2016-4491
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2016-4491 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2016-4491
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://gcc.gnu.org/ml/gcc-patches/2016-05/msg00105.html
[email protected] - Patch, Vendor Advisory
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.