CVE-2026-86805
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W dynamicznym loaderze (ld.so) biblioteki GNU C Library (glibc) w wersjach od 2.14 do 2.44 występuje warunek wyścigu typu time-of-check to time-of-use (TOCTOU), który pozwala lokalnemu atakującemu na podniesienie uprawnień. Podczas rozwijania $ORIGIN w DT_RPATH dla programów setuid/setgid (AT_SECURE) glibc waliduje znormalizowaną leksykalnie ścieżkę wyszukiwania względem zaufanych katalogów, ale następnie otwiera surową, nieznormalizowaną ścieżkę. W systemach, w których wyłączono sysctl fs.protected_hardlinks, lokalny atakujący, który utworzy twarde dowiązanie do takiego programu w kontrolowanym przez siebie katalogu i wygra wyścig, zastępując pośredni komponent ścieżki dowiązaniem symbolicznym, może skierować loader poza zaufany katalog, powodując załadowanie kontrolowanej przez atakującego biblioteki współdzielonej i wykonanie dowolnego kodu z podniesionymi uprawnieniami programu.
Ocena ryzyka
Lokalny atakujący może uzyskać podniesione uprawnienia (root) na podatnym systemie, co prowadzi do pełnego przejęcia kontroli nad hostem. Wymaga to jednak wyłączonego fs.protected_hardlinks oraz obecności odpowiedniego binarium setuid/setgid, co jest rzadkie w domyślnych konfiguracjach głównych dystrybucji Linuksa.
Rekomendacja
Zaktualizuj glibc do wersji zawierającej poprawkę (powyżej 2.44) lub upewnij się, że fs.protected_hardlinks jest włączone (domyślnie w większości dystrybucji). Unikaj używania $ORIGIN z przejściem ".." w DT_RPATH dla programów setuid/setgid.
Inne podatności w glibc
Zobacz wszystkie- CVE-2023-6780Średnie
W funkcji __vsyslog_internal biblioteki glibc wykryto przepełnienie liczb całkowitych. Funkcja ta jest wywoływana przez syslog i vsyslog. Problem występuje, gdy funkcje są wywoływane z bardzo długą wiadomością, co prowadzi do nieprawidłowego obliczenia rozmiaru bufora i niezdefiniowanego zachowania. Dotyczy glibc 2.37 i nowszych.
- CVE-2023-6779Wysokie
W bibliotece glibc wykryto błąd przepełnienia bufora w stercie, związany z funkcją __vsyslog_internal. Problem występuje, gdy funkcje syslog i vsyslog są wywoływane z wiadomością większą niż INT_MAX bajtów, co prowadzi do błędnego obliczenia rozmiaru bufora i w efekcie do awarii aplikacji.
- CVE-2015-5180Wysokie
W bibliotece libresolv w glibc przed wersją 2.25 istnieje podatność, która pozwala zdalnym atakującym na spowodowanie odmowy usługi poprzez dereferencję wskaźnika NULL, co prowadzi do awarii procesu.
- CVE-2017-1000366Wysokie
W bibliotece glibc występuje podatność, która pozwala na manipulację pamięcią stosu i sterty poprzez specjalnie skonstruowane wartości LD_LIBRARY_PATH, co może prowadzić do wykonania dowolnego kodu. Dotyczy to wersji glibc 2.25 i wcześniejszych.
- CVE-2015-5229Wysokie
Funkcja calloc w pakiecie glibc w Red Hat Enterprise Linux (RHEL) 6.7 i 7.2 nieprawidłowo inicjalizuje obszary pamięci, co może umożliwić atakującym zależnym od kontekstu spowodowanie odmowy usługi (zawieszenie lub awaria) za pomocą nieokreślonych wektorów.
- CVE-2016-2856Wysokie
W glibc przed wersją 2.19-18+deb8u4 na Debianie jessie oraz przed wersjami 2.15-0ubuntu10.14 na Ubuntu 12.04 LTS, 2.19-0ubuntu6.8 na Ubuntu 14.04 LTS, 2.21-0ubuntu4.2 na Ubuntu 15.10 i 2.23-0ubuntu1 na Ubuntu 16.04 LTS i 16.10 brakuje sprawdzenia przestrzeni nazw związanej z przekazywaniem deskryptorów plików. To pozwala lokalnym użytkownikom na przechwytywanie naciśnięć klawiszy i fałszowanie danych, co może prowadzić do uzyskania uprawnień.
- CVE-2015-0235Wysokie
W podatności CVE-2015-0235 występuje przepełnienie bufora w stercie w funkcji __nss_hostname_digits_dots w glibc w wersjach 2.2 oraz wcześniejszych 2.x przed 2.18. Umożliwia to atakującym wykonanie dowolnego kodu poprzez funkcje gethostbyname lub gethostbyname2.
- CVE-2014-4043Wysokie
Funkcja posix_spawn_file_actions_addopen w glibc przed wersją 2.20 nie kopiuje argumentu ścieżki zgodnie ze specyfikacją POSIX, co pozwala atakującym zależnym od kontekstu na wywołanie podatności use-after-free.
- CVE-2024-33600Średnie
W glibc 2.15 wprowadzono błąd w demonie nscd, który powoduje wywołanie dereferencji wskaźnika null, gdy odpowiedź o nieznalezieniu grupy sieciowej nie zostanie dodana do pamięci podręcznej. Prowadzi to do awarii nscd.
- CVE-2023-25139Krytyczne
Funkcja sprintf w bibliotece GNU C Library (glibc) 2.37 zawiera przepełnienie bufora (zapis poza zakresem) w niektórych sytuacjach, nawet przy poprawnie dobranym rozmiarze bufora. Może dojść do zapisu poza granice bufora docelowego podczas formatowania liczby z separatorami tysięcy i dopełnieniem, gdy bufor ma dokładnie rozmiar potrzebny do reprezentacji liczby jako ciągu znaków.
Oryginalny opis (angielski, źródło NVD)
A time-of-check to time-of-use (TOCTOU) race condition in the dynamic loader (ld.so) of the GNU C Library (glibc) versions 2.14 through 2.44 allows a local attacker to escalate privileges. When expanding $ORIGIN in DT_RPATH for setuid/setgid (AT_SECURE) programs, glibc validates the lexically normalized search path against the trusted directories but then opens the raw, un-normalized path. On systems where the Linux fs.protected_hardlinks sysctl is disabled, a local attacker who hard-links such a program into an attacker-controlled directory and wins a race to replace an intermediate path component with a symbolic link can direct the loader outside the trusted directory, causing it to load an attacker-controlled shared object and execute arbitrary code with the elevated privileges of the program. Exploitation requires an installed setuid or setgid binary whose DT_RPATH uses $ORIGIN followed by ".." traversal that normalizes into a trusted directory, and the ability to hard-link that binary and win the race by swapping a path component for a symbolic link. Major Linux-based OS distributions ship with fs.protected_hardlinks enabled by default and mitigate the vulnerability.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

