CVE-2017-9052
KrytyczneStreszczenie
W bibliotece libdwarf odkryto problem związany z nadmiernym odczytem bufora w stercie w funkcji dwarf_formsdata(). Problem ten wynika z braku sprawdzenia, czy wskaźnik znajduje się w dozwolonym zakresie w kilku miejscach tej funkcji oraz z błędu w sprawdzeniu w funkcji dwarf_attr_list().
Ocena ryzyka
Nadmiarowy odczyt bufora może prowadzić do ujawnienia poufnych danych w pamięci, co stwarza ryzyko dla bezpieczeństwa aplikacji korzystających z tej biblioteki.
Rekomendacja
Zaleca się aktualizację biblioteki libdwarf do najnowszej wersji, aby usunąć tę podatność oraz przeprowadzenie audytu kodu w celu zidentyfikowania potencjalnych miejsc narażonych na podobne problemy.
Inne podatności w libdwarf
Zobacz wszystkie- CVE-2016-5041Wysokie
W pliku dwarf_macro5.c w libdwarf przed wersją 20160923 występuje podatność, która umożliwia zdalnym atakującym spowodowanie odmowy usługi (dereferencja wskaźnika NULL) poprzez wpis informacji debugowania używający DWARF5 bez DW_AT_name.
- CVE-2016-9276Wysokie
Funkcja dwarf_get_aranges_list w pliku dwarf_arrange.c w Libdwarf przed wersją 20161124 umożliwia zdalnym atakującym spowodowanie odmowy usługi poprzez odczyt poza zakresem.
- CVE-2016-9275Wysokie
W funkcji _dwarf_skim_forms w pliku libdwarf/dwarf_macro5.c w Libdwarf przed wersją 20161124 występuje przepełnienie bufora oparte na stercie, które może być wykorzystane przez zdalnych atakujących.
- CVE-2016-5044Wysokie
Funkcja WRITE_UNALIGNED w pliku dwarf_elf_access.c w libdwarf przed wersją 20160923 umożliwia zdalnym atakującym spowodowanie odmowy usługi (zapisy poza zakresem i awaria) poprzez spreparowaną sekcję DWARF.
- CVE-2016-5043Wysokie
Funkcja dwarf_dealloc w libdwarf przed wersją 20160923 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem i awaria) poprzez spreparowaną sekcję DWARF.
- CVE-2016-5042Wysokie
Funkcja dwarf_get_aranges_list w libdwarf przed wersją 20160923 umożliwia zdalnym atakującym spowodowanie odmowy usługi (nieskończona pętla i awaria) poprzez spreparowaną sekcję DWARF.
- CVE-2016-5040Wysokie
libdwarf przed wersją 20160923 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem i awaria) poprzez dużą wartość długości w nagłówku jednostki kompilacyjnej.
- CVE-2016-5039Wysokie
Funkcja get_attr_value w libdwarf przed 20160923 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem) poprzez spreparowany obiekt z ustawionymi wszystkimi bitami.
- CVE-2016-5038Wysokie
Funkcja dwarf_get_macro_startend_file w libdwarf przed wersją 20160923 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem) poprzez spreparowany offset ciągu dla .debug_str.
- CVE-2016-5036Wysokie
Funkcja dump_block w pliku print_sections.c w libdwarf przed wersją 20160923 umożliwia zdalnym atakującym spowodowanie odmowy usługi (odczyt poza zakresem) poprzez spreparowane dane ramki.
Oryginalny opis (angielski, źródło NVD)
An issue, also known as DW201703-006, was discovered in libdwarf 2017-03-21. A heap-based buffer over-read in dwarf_formsdata() is due to a failure to check a pointer for being in bounds (in a few places in this function) and a failure in a check in dwarf_attr_list().

