
CVE catalog
CVE-2026-18220
An out-of-bounds write vulnerability was found in the BFD library's DLX ELF backend (bfd/elf32-dlx.c) in GNU binutils. The dlx_rtype_to_howto() function maps ELF relocation types to internal howto str
- Severity
- High · CVSS 7.8
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Published
- Source
- [NVD] · [CVE record]
- EPSS
- 0.19% · Oct 25, 2026
An out-of-bounds write vulnerability was found in the BFD library's DLX ELF backend (bfd/elf32-dlx.c) in GNU binutils. The dlx_rtype_to_howto() function maps ELF relocation types to internal howto structures but fails to perform adequate bounds checking on attacker-controlled relocation type values (via ELF32_R_TYPE(r_info)) before indexing into the dlx_elf_howto_table[] array. The DLX relocation type number space is non-contiguous (basic types 0-6, extended types at 0x10000+), but the default case in the switch statement allows arbitrary index values to reach the array access. A specially crafted ELF/DLX object file can trigger this out-of-bounds write when processed by any BFD-consuming tool (objdump, readelf, strip, ld, nm, objcopy). The vulnerability has been demonstrated to achieve arbitrary code execution via a File Stream Oriented Programming (FSOP) attack against glibc FILE structures (stderr), redirecting control flow to system(). Attack scenarios include CI/CD pipelines performing automated binary analysis, developer workstations running objdump/readelf on untrusted binaries, automated security scanning or malware analysis tools invoking binutils, and package build systems processing third-party code. Note: This vulnerability is only exploitable when binutils is built with the DLX backend enabled (typically via --enable-targets=all).
Vulnerable and fixed packages
Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.
| Distribution | Package | Release | Version | Status |
|---|---|---|---|---|
| Debian | binutils | sid | 2.47.50.20261021-1 | vulnerable |
| Debian | binutils | forky | 2.47.50.20261021-1 | vulnerable |
| Debian | binutils | trixie | 2.44-3 | vulnerable |
| Debian | binutils | bookworm | 2.40-2 | vulnerable |
Fixed-version evidence
| Distribution | Package | Type | Release | Fixed version | Urgency | Origin | Bugs |
|---|---|---|---|---|---|---|---|
| Debian | binutils | source | sid | (unfixed) | unimportant | Not reported | Not reported |
| Debian | binutils | source | forky | (unfixed) | unimportant | Not reported | Not reported |
| Debian | binutils | source | trixie | (unfixed) | unimportant | Not reported | Not reported |
| Debian | binutils | source | bookworm | (unfixed) | unimportant | Not reported | Not reported |
OpenFactory catalog packages
[Debian 12 (Bookworm)]
- [binutils]Affected
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-aarch64-linux-gnu]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-aarch64-linux-gnu-dbg]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-alpha-linux-gnu]Affected
Source package: [binutils]
Details (1)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-alpha-linux-gnu-dbg]Affected
Source package: [binutils]
Details (1)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-arc-linux-gnu]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-arc-linux-gnu-dbg]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-arm-linux-gnueabi]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-arm-linux-gnueabi-dbg]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-arm-linux-gnueabihf]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-arm-linux-gnueabihf-dbg]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-common]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-dev]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-doc]Affected
Source package: [binutils]
Details (2)
2.40-2· all · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· all · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-for-build]Affected
Source package: [binutils]
Details (2)
2.40-2· all · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· all · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-for-host]Affected
Source package: [binutils]
Details (2)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
2.40-2· arm64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-hppa64-linux-gnu]Affected
Source package: [binutils]
Details (1)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-hppa64-linux-gnu-dbg]Affected
Source package: [binutils]
Details (1)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-hppa-linux-gnu]Affected
Source package: [binutils]
Details (1)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
- [binutils-hppa-linux-gnu-dbg]Affected
Source package: [binutils]
Details (1)
2.40-2· amd64 · bookwormAffected
nvd · binutils · debian · bookworm; nvd · binutils · debian · 12
Observed:
References
- [https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_11932-1.json]
- [https://nvd.nist.gov/vuln/detail/CVE-2026-18220]
- [https://osv.dev/vulnerability/DEBIAN-CVE-2026-18220]
- [https://osv.dev/vulnerability/UBUNTU-CVE-2026-18220]
- [https://security-tracker.debian.org/tracker/CVE-2026-18220]
- [https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-18220.json]
[Debian Security Tracker] · [FIRST EPSS] · [National Vulnerability Database (NVD)] · [OSV Package Vulnerability Database] · [Red Hat security advisories and VEX] · [SUSE security advisories and VEX]