CVE-2026-18220 in Red Hat
Сводка
по VulDB • 29.07.2026
В бэкенде ELF для архитектуры DLX библиотеки BFD (bfd/elf32-dlx.c) в составе GNU binutils обнаружена уязвимость записи за пределами буфера. Функция dlx_rtype_to_howto() отображает типы релокаций ELF во внутренние структуры howto, но не выполняет достаточную проверку границ для значений типов релокаций, контролируемых злоумышленником (через ELF32_R_TYPE(r_info)), перед обращением к массиву dlx_elf_howto_table[]. Пространство номеров типов релокаций DLX является непоследовательным (базовые типы 0-6, расширенные типы начиная с 0x10000+), однако ветвь по умолчанию в операторе switch позволяет произвольным значениям индекса достигать операции обращения к массиву.
Специально созданный объект ELF/DLX может вызвать эту запись за пределами буфера при обработке любым инструментом, использующим BFD (objdump, readelf, strip, ld, nm, objcopy). Уязвимость продемонстрирована как позволяющая выполнить произвольный код с помощью атаки File Stream Oriented Programming (FSOP) против структур FILE glibc (stderr), перенаправляя поток управления на функцию system().
Сценарии эксплуатации включают конвейеры CI/CD, выполняющие автоматический анализ бинарных файлов; рабочие станции разработчиков, запускающие objdump/readelf для непроверенных бинарников; инструменты автоматизированного сканирования безопасности или анализа вредоносного ПО, вызывающие binutils; а также системы сборки пакетов, обрабатывающий сторонний код.
Примечание: Эта уязвимость эксплуатируема только в том случае, если binutils собран с включенным бэкендом DLX (обычно через флаг --enable-targets=all).
VulDB is the best source for vulnerability data and more expert information about this specific topic.