CVE-2026-18220
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 8 - wyżej niż 8% wszystkich znanych CVE
Streszczenie
W bibliotece BFD w GNU binutils, w backendzie DLX ELF, funkcja dlx_rtype_to_howto() nie sprawdza poprawności wartości typu relokacji, co pozwala na zapis poza zakresem tablicy. Specjalnie spreparowany plik ELF/DLX może doprowadzić do wykonania dowolnego kodu.
Ocena ryzyka
Atakujący może zdalnie wykonać kod na stacjach deweloperskich lub w systemach CI/CD przetwarzających złośliwe pliki binarne.
Rekomendacja
Zaktualizuj GNU binutils do wersji zawierającej poprawkę lub wyłącz backend DLX (--disable-targets).
Inne podatności w GNU binutils
Zobacz wszystkie- CVE-2017-17126Wysokie
Funkcja load_debug_section w pliku readelf.c w GNU Binutils 2.29.1 umożliwia zdalnym atakującym spowodowanie odmowy usługi (nieprawidłowy dostęp do pamięci i awaria aplikacji) lub potencjalnie inny nieokreślony wpływ poprzez plik ELF, który nie zawiera nagłówków sekcji.
- CVE-2017-17125Wysokie
W GNU Binutils 2.29.1 występuje problem z niewłaściwym przetwarzaniem niektórych globalnych symboli w plikach nm.c i objdump.c, co może prowadzić do awarii aplikacji lub odmowy usługi.
- CVE-2017-17124Wysokie
Funkcja _bfd_coff_read_string_table w bibliotece BFD (libbfd) w wersji GNU Binutils 2.29.1 nieprawidłowo weryfikuje rozmiar zewnętrznej tabeli ciągów, co może prowadzić do odmowy usługi lub przepełnienia bufora.
- CVE-2017-17122Wysokie
Funkcja dump_relocs_in_section w pliku objdump.c w GNU Binutils 2.29.1 nie sprawdza przepełnień licznika relokacji, co może prowadzić do odmowy usługi lub przepełnienia bufora w pamięci.
- CVE-2017-17121Wysokie
Biblioteka Binary File Descriptor (BFD) w GNU Binutils 2.29.1 umożliwia zdalnym atakującym spowodowanie odmowy usługi (naruszenie dostępu do pamięci) lub potencjalnie inny nieokreślony wpływ poprzez plik binarny COFF, w którym relocacja odnosi się do lokalizacji po końcu sekcji, która ma być relocowana.
- CVE-2017-16832Wysokie
Funkcja pe_bfd_read_buildid w bibliotece Binary File Descriptor (BFD) w GNU Binutils 2.29.1 nie weryfikuje wartości rozmiaru i offsetu w słowniku danych, co umożliwia zdalnym atakującym spowodowanie odmowy usługi (naruszenie segmentacji i awaria aplikacji) lub potencjalnie inny nieokreślony wpływ za pomocą spreparowanego pliku PE.
- CVE-2017-16830Wysokie
Funkcja print_gnu_property_note w readelf.c w GNU Binutils 2.29.1 nie ma ochrony przed przepełnieniem całkowitym na platformach 32-bitowych, co pozwala zdalnym atakującym na spowodowanie odmowy usługi (naruszenie segmentacji i awaria aplikacji) lub potencjalnie inny nieokreślony wpływ poprzez spreparowany plik ELF.
- CVE-2017-16829Wysokie
Funkcja _bfd_elf_parse_gnu_properties w bibliotece Binary File Descriptor (BFD) w wersji GNU Binutils 2.29.1 nie zapobiega używaniu negatywnych wskaźników, co może prowadzić do awarii aplikacji lub innych nieokreślonych skutków poprzez spreparowany plik ELF.
- CVE-2017-16828Wysokie
Funkcja display_debug_frames w pliku dwarf.c w GNU Binutils 2.29.1 pozwala zdalnym atakującym na spowodowanie odmowy usługi poprzez przepełnienie całkowite oraz nadmierne odczytywanie bufora w stercie, co może prowadzić do awarii aplikacji.
- CVE-2017-16827Wysokie
Funkcja aout_get_external_symbols w bibliotece Binary File Descriptor (BFD) w GNU Binutils 2.29.1 umożliwia zdalnym atakującym spowodowanie odmowy usługi poprzez specjalnie przygotowany plik ELF, co może prowadzić do awarii aplikacji.
Oryginalny opis (angielski, źródło NVD)
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).

