CVE-2017-16997
WysokieStreszczenie
W bibliotece GNU C (glibc) w wersjach od 2.19 do 2.26 występuje błąd w obsłudze RPATH i RUNPATH zawierających $ORIGIN dla programów z uprawnieniami (setuid lub AT_SECURE). Umożliwia to lokalnym użytkownikom uzyskanie uprawnień poprzez złośliwą bibliotekę w bieżącym katalogu roboczym.
Ocena ryzyka
Podatność ta może prowadzić do eskalacji uprawnień przez lokalnych użytkowników, co stanowi poważne zagrożenie dla bezpieczeństwa systemu. Choć konfiguracja ta jest rzadko spotykana, jej obecność w systemie może prowadzić do nieautoryzowanego dostępu.
Rekomendacja
Zaleca się aktualizację biblioteki glibc do najnowszej wersji oraz przeglądanie i ograniczanie użycia RPATH i RUNPATH w programach z uprawnieniami. Należy również monitorować katalogi robocze aplikacji w poszukiwaniu złośliwych bibliotek.
Inne podatności w GNU C Library (glibc)
Zobacz wszystkie- CVE-2017-8804Wysokie
Funkcje xdr_bytes i xdr_string w bibliotece GNU C (glibc) w wersji 2.25 niewłaściwie obsługują błędy deserializacji bufora, co pozwala zdalnym atakującym na wywołanie odmowy usługi poprzez spreparowany pakiet UDP na porcie 111.
- CVE-2015-8983Wysokie
Przepełnienie całkowite w funkcji _IO_wstr_overflow w bibliotece GNU C Library (glibc) przed wersją 2.22 może prowadzić do awarii aplikacji lub potencjalnego wykonania dowolnego kodu. Atakujący mogą wykorzystać tę podatność poprzez manipulację rozmiarami w bajtach, co prowadzi do przepełnienia bufora w stercie.
- CVE-2016-5417Wysokie
W bibliotece GNU C (glibc) przed wersją 2.24 występuje wyciek pamięci w funkcji __res_vinit, co może prowadzić do odmowy usługi. Zdalni atakujący mogą wykorzystać częściową inicjalizację wewnętrznych struktur danych resolvera, aby spowodować zużycie pamięci.
- CVE-2016-6323Wysokie
Funkcja makecontext w bibliotece GNU C (glibc) przed wersją 2.25 tworzy konteksty wykonawcze, które są niekompatybilne z unwinderem na platformach ARM EABI (32-bit). Może to umożliwić atakującym zależnym od kontekstu spowodowanie odmowy usługi (zawieszenie), co zostało zademonstrowane przez aplikacje skompilowane przy użyciu gccgo, związane z generowaniem backtrace.
- CVE-2016-3706Wysokie
W bibliotece GNU C (glibc) występuje przepełnienie bufora na stosie w funkcji getaddrinfo, co pozwala zdalnym atakującym na spowodowanie awarii systemu poprzez konwersję hostent.
- CVE-2016-3075Wysokie
W bibliotece GNU C (glibc) przed wersją 2.24 występuje przepełnienie bufora na stosie w implementacji funkcji getnetbyname w nss_dns. Atakujący mogą wykorzystać tę podatność, wprowadzając długą nazwę, co prowadzi do awarii aplikacji.
- CVE-2016-1234Wysokie
W bibliotece GNU C (glibc) przed wersją 2.24 występuje przepełnienie bufora na stosie w implementacji glob, które może być wykorzystane przez atakujących w zależności od kontekstu. Umożliwia to spowodowanie awarii systemu poprzez podanie długiej nazwy.
- CVE-2015-7547Wysokie
W bibliotece libresolv w GNU C Library (glibc) przed wersją 2.23 występują wielokrotne przepełnienia bufora na stosie w funkcjach send_dg i send_vc. Atakujący zdalnie mogą spowodować awarię usługi lub potencjalnie wykonać dowolny kod poprzez spreparowaną odpowiedź DNS.
- CVE-2015-5277Wysokie
Funkcja get_contents w bibliotece GNU C Library (glibc) przed wersją 2.20 może umożliwić lokalnym użytkownikom spowodowanie odmowy usługi (uszkodzenie sterty) lub uzyskanie uprawnień poprzez długą linię w bazie danych plików NSS.
- CVE-2014-9402Wysokie
Implementacja nss_dns funkcji getnetbyname w bibliotece GNU C (glibc) przed wersją 2.21 pozwala zdalnym atakującym na wywołanie odmowy usługi (nieskończona pętla) poprzez wysłanie pozytywnej odpowiedzi podczas przetwarzania nazwy sieciowej.
Oryginalny opis (angielski, źródło NVD)
elf/dl-load.c in the GNU C Library (aka glibc or libc6) 2.19 through 2.26 mishandles RPATH and RUNPATH containing $ORIGIN for a privileged (setuid or AT_SECURE) program, which allows local users to gain privileges via a Trojan horse library in the current working directory, related to the fillin_rpath and decompose_rpath functions. This is associated with misinterpretion of an empty RPATH/RUNPATH token as the "./" directory. NOTE: this configuration of RPATH/RUNPATH for a privileged program is apparently very uncommon; most likely, no such program is shipped with any common Linux distribution.

