CVE-2026-6791
ŚrednieCVSS 6.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% 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-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)
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

