CVE-2017-12448
WysokieStreszczenie
Funkcja bfd_cache_close w bibliotece Binary File Descriptor (BFD) w wersjach GNU Binutils 2.29 i wcześniejszych pozwala zdalnym atakującym na wykorzystanie pamięci po jej zwolnieniu, co może prowadzić do wykonania kodu poprzez odpowiednio przygotowany plik archiwum. Problem wynika z nieprawidłowego wywoływania funkcji podczas próby zwolnienia pamięci.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do zdalnego wykonania kodu, co stwarza poważne zagrożenie dla integralności i bezpieczeństwa systemu. Może to prowadzić do przejęcia kontroli nad systemem przez nieautoryzowane osoby.
Rekomendacja
Zaleca się aktualizację do nowszej wersji GNU Binutils, w której problem został naprawiony. Dodatkowo, warto wprowadzić lepszą walidację danych wejściowych w funkcji bfd_generic_archive_p.
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)
The bfd_cache_close function in bfd/cache.c in the Binary File Descriptor (BFD) library (aka libbfd), as distributed in GNU Binutils 2.29 and earlier, allows remote attackers to cause a heap use after free and possibly achieve code execution via a crafted nested archive file. This issue occurs because incorrect functions are called during an attempt to release memory. The issue can be addressed by better input validation in the bfd_generic_archive_p function in bfd/archive.c.

