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.
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.

