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-2025-69648Średnie
GNU Binutils do wersji 2.45.1 zawiera w readelf podatność na odmowę usługi podczas przetwarzania spreparowanego pliku binarnego z nieprawidłowymi danymi DWARF .debug_rnglists. Błąd logiczny w ścieżce parsowania DWARF powoduje wielokrotne wypisywanie tego samego ostrzeżenia bez postępu, co prowadzi do nieskończonej pętli wyjściowej wymagającej ręcznego przerwania. Nie zaobserwowano dowodów na uszkodzenie pamięci ani wykonanie kodu.
- CVE-2025-69647Średnie
Narzędzie readelf z GNU Binutils do wersji 2.45.1 zawiera podatność na odmowę usługi podczas przetwarzania spreparowanego pliku binarnego z nieprawidłowymi danymi DWARF loclists. Błąd logiki powoduje wielokrotne wypisywanie tej samej tabeli bez postępu, prowadząc do nieskończonej pętli wyjściowej.
- CVE-2025-69652Średnie
GNU Binutils do wersji 2.46 w narzędziu readelf zawiera podatność prowadzącą do przerwania działania (SIGABRT) podczas przetwarzania spreparowanego pliku ELF z nieprawidłowymi informacjami DWARF abbrev lub debug. Z powodu niepełnego czyszczenia stanu w process_debug_info() nieprawidłowy stan debug_info_p może propagować do procedur parsowania atrybutów DWARF, a nieoczekiwana długość danych równa zero wywołuje krytyczne przerwanie w byte_get_little_endian().
- CVE-2025-69651Średnie
Narzędzie readelf z GNU Binutils do wersji 2.46 zawiera podatność prowadzącą do zwolnienia nieprawidłowego wskaźnika podczas przetwarzania spreparowanego pliku ELF z uszkodzonymi danymi relokacji lub symboli. Tablica all_relocations może pozostać częściowo niezainicjalizowana, a późniejsze wywołanie process_got_section_contents() może próbować zwolnić nieprawidłowy wskaźnik r_symbol, powodując przerwanie programu przez SIGABRT. Wpływ ogranicza się do odmowy usługi; podatność jest kwestionowana przez strony trzecie, ponieważ zaobserwowane zachowanie wystąpiło tylko w kodzie przedpremierowym i nie dotyczyło żadnej oznaczonej wersji.
- CVE-2025-69646Średnie
Narzędzie objdump z Binutils zawiera podatność na odmowę usługi podczas przetwarzania spreparowanego pliku binarnego z nieprawidłowymi danymi DWARF debug_rnglists. Błąd logiki w obsłudze nagłówka powoduje wielokrotne wypisywanie tego samego ostrzeżenia i brak zakończenia procesu.
- CVE-2025-69644Średnie
W Binutils przed wersją 2.46 wykryto podatność typu denial-of-service w narzędziu objdump podczas przetwarzania spreparowanego pliku binarnego z uszkodzonymi informacjami debugowymi. Błąd logiczny w obsłudze nagłówków list lokalizacji DWARF może spowodować, że objdump wejdzie w nieskończoną pętlę i będzie generować niekończący się wynik do momentu ręcznego przerwania. Podatność pozwala lokalnemu atakującemu na nadmierne zużycie zasobów poprzez dostarczenie złośliwego pliku wejściowego.
- CVE-2025-1152Niskie
W GNU Binutils 2.43 funkcja xstrdup w pliku xstrdup.c komponentu ld powoduje wyciek pamięci. Atak jest możliwy zdalnie, ale o wysokiej złożoności i trudnej eksploatacji. Exploit został publicznie ujawniony i może być wykorzystany.
- 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.
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).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

