CVE-2026-6791
ŚrednieCVSS 6.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
Podatność w funkcji parse_tilde w bibliotece (prawdopodobnie glibc) podczas rozwijania ścieżek zaczynających się od tyldy (~) i nazwy użytkownika. Funkcja alokuje pamięć na stosie za pomocą makra strndupa, a rozmiar alokacji jest określany na podstawie długości danych wejściowych bez żadnych kontroli granic. Przekazanie bardzo długiej nazwy użytkownika (tysiące znaków) może doprowadzić do wyczerpania pamięci stosu wątku, co może być wykorzystane do ataku typu stack clash.
Ocena ryzyka
Jeśli aplikacja przetwarza niezaufane dane wejściowe przez funkcję wordexp, atakujący może spowodować awarię aplikacji lub potencjalnie uzyskać zdalne wykonanie kodu w zależności od kontekstu.
Rekomendacja
Zastosuj poprawkę od producenta biblioteki, która wprowadza odpowiednie ograniczenia długości nazwy użytkownika. Unikaj przekazywania niezaufanych danych do funkcji wordexp.
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-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-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-2022-23219Krytyczne
Przestarzała funkcja zgodności clnt_create w module sunrpc biblioteki GNU C Library (glibc) do wersji 2.34 kopiuje argument hostname na stosie bez sprawdzania jego długości. Może to prowadzić do przepełnienia bufora, a w konsekwencji do odmowy usługi lub — jeśli aplikacja nie została zbudowana z włączoną ochroną stosu — do wykonania dowolnego kodu.
Oryginalny opis (angielski, źródło NVD)
When expanding paths that begin with a tilde (~) followed by a username, the internal parse_tilde function extracts the username to determine the user's home directory. The implementation allocates memory for this username directly on the stack using the strndupa macro. Because the size of this allocation was determined by the length of the user-supplied input without any bounds checks, passing an excessively long username e.g. thousands of characters, forces the thread to exhaust its stack space. Thus if an application passes untrusted, attacker-controlled input to the wordexp function, an attacker can trigger a stack clash.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

