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-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-2023-4813Średnie
W glibc odkryto usterkę, która w rzadkich przypadkach może prowadzić do użycia zwolnionej pamięci przez funkcję gaih_inet, powodując awarię aplikacji. Problem występuje tylko podczas wywołania funkcji getaddrinfo, gdy baza hosts w /etc/nsswitch.conf jest skonfigurowana z SUCCESS=.
- CVE-2020-1751Wysokie
W bibliotece glibc przed wersją 2.31 wykryto podatność na zapis poza zakresem podczas obsługi trampolin sygnałów na architekturze PowerPC. Funkcja backtrace nie sprawdzała poprawnie granic tablicy przy przechowywaniu adresu ramki, co może prowadzić do odmowy usługi lub potencjalnego wykonania kodu.
- 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.
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

