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

[CVE catalog]

Severity
High · CVSS 7.8CVSS: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.

DistributionPackageReleaseVersionStatus
Debianbinutilssid2.47.50.20261021-1vulnerable
Debianbinutilsforky2.47.50.20261021-1vulnerable
Debianbinutilstrixie2.44-3vulnerable
Debianbinutilsbookworm2.40-2vulnerable

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debianbinutilssourcesid(unfixed)unimportantNot reportedNot reported
Debianbinutilssourceforky(unfixed)unimportantNot reportedNot reported
Debianbinutilssourcetrixie(unfixed)unimportantNot reportedNot reported
Debianbinutilssourcebookworm(unfixed)unimportantNot reportedNot reported

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • [binutils]Affected
    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (1)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (1)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • [binutils-common]Affected

    Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • [binutils-dev]Affected

    Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • [binutils-doc]Affected

    Source package: [binutils]

    Details (2)
    • 2.40-2 · all · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · all · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · all · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · all · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (2)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

    • 2.40-2 · arm64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (1)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (1)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (1)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

  • Source package: [binutils]

    Details (1)
    • 2.40-2 · amd64 · bookworm

      Affected

      nvd · binutils · debian · bookworm; nvd · binutils · debian · 12

Next results

Observed:

References