CVE-2026-18220
HIGHBinutils: binutils: out-of-bounds write in bfd dlx elf backend relocation processing
Title source: cnaExploitation Summary
EIP tracks 1 public exploit for CVE-2026-18220. PoCs published by 4D4J.
AI-analyzed exploit summary This repository contains a functional exploit for CVE-2026-18220, an out-of-bounds write vulnerability in GNU Binutils' objdump (bfd/elf32-dlx.c). The exploit leverages a missing bounds check in the DLX relocation handler to corrupt _IO_2_1_stderr_ via FSOP (File Stream Oriented Programming), achieving arbitrary code execution via system() when objdump processes a crafted ELF file.
Description
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).
Exploits (1)
This repository contains a functional exploit for CVE-2026-18220, an out-of-bounds write vulnerability in GNU Binutils' objdump (bfd/elf32-dlx.c). The exploit leverages a missing bounds check in the DLX relocation handler to corrupt _IO_2_1_stderr_ via FSOP (File Stream Oriented Programming), achieving arbitrary code execution via system() when objdump processes a crafted ELF file.
References (2)
Scores
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H