🔍 CVE-2026-18220

7.8
CVSS Score
HIGH
2026-07-29
2026-07-30 14:15
✅ 완료

🇰🇷 한글 설명

GNU binutils의 BFD 라이브러리 내 DLX ELF 백엔드에서 경계 외 쓰기(Out-of-bounds write) 취약점이 발견되었습니다. 공격자가 조작된 ELF/DLX 파일을 사용하여 dlx_elf_howto_table 배열의 범위를 벗어나는 인덱스에 접근함으로써 임의의 코드를 실행할 수 있습니다.

💡 쉬운 설명

특수하게 제작된 파일을 분석 도구로 열 때, 프로그램이 데이터의 범위를 잘못 계산하여 컴퓨터의 제어권을 탈취할 수 있는 문제입니다. 이를 통해 해커가 사용자의 컴퓨터에서 몰래 명령을 실행할 수 있습니다.

🇺🇸 원문 (English)

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).

📍 영향받는 시스템

DLX 백엔드가 활성화된 상태로 빌드된 GNU binutils (objdump, readelf, strip, ld, nm, objcopy 포함)

⚔️ 공격 벡터

조작된 ELF/DLX 파일을 binutils 도구(objdump, readelf 등)로 처리하도록 유도

🛡️ 대응 방법

DLX 백엔드가 포함되지 않도록 binutils를 재빌드하거나, 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

설치된 binutils 버전을 확인하고, 해당 버전이 취약점이 해결된 패치 버전인지 보안 공지를 통해 대조하십시오.

Shell / Script
objdump --version 2>/dev/null | grep -i 'binutils'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

WP Maps Pro