CVE-2026-89092
ŚrednieCVSS 4.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
Usługa nscd w GNU C Library od wersji 2.3.4 może ulec awarii z powodu przepełnienia stosu, gdy złośliwy serwer DNS zwróci zbyt dużą odpowiedź na zapytanie DNS, co prowadzi do pogorszenia rozwiązywania nazw w systemie. Wykorzystanie wymaga włączonego nscd i korzystania z niezaufanego serwera DNS. Istnieje również niewielka możliwość uszkodzenia pamięci podręcznej nscd.
Ocena ryzyka
Awaria nscd może spowodować pogorszenie wydajności rozwiązywania nazw, ale nie prowadzi do odmowy usługi. W rzadkich przypadkach możliwe jest uszkodzenie pamięci podręcznej nscd, co może wpłynąć na inne cache.
Rekomendacja
Zaktualizuj GNU C Library do wersji zawierającej poprawkę lub wyłącz usługę nscd, jeśli nie jest wymagana. Unikaj korzystania z niezaufanych serwerów DNS do rozwiązywania nazw.
Inne podatności w GNU C Library
Zobacz wszystkie- CVE-2026-80489Średnie
Konwersja spreparowanego wejścia EUC_JISX0213 do UCS-4 lub wewnętrznego kodowania szerokich znaków, na przykład za pomocą iconv, w GNU C Library w wersjach od 2.3 do 2.44 może spowodować, że konwerter nie robi postępów, powodując zawieszenie aplikacji wywołującej. Niektóre sekwencje EUC_JISX0213 dekodują się do dwóch punktów kodowych; jeśli bufor wyjściowy ma miejsce tylko na pierwszy z nich, konwerter zapisuje drugi w stanie konwersji i zwraca E2BIG, ale nigdy nie czyści tego oczekującego znaku po jego wyemitowaniu w następnym wywołaniu. Konwerter następnie stale emituje oczekujący znak bez zużywania dalszego wejścia, więc aplikacja ponawiająca konwersję zapętla się w nieskończoność. Wejście musi być kontrolowane przez atakującego, a aplikacja musi konwertować je z buforem wyjściowym wystarczająco małym, by rozdzielić dwa punkty kodowe. Dotyczy tylko zestawu znaków EUC_JISX0213, który nie jest powszechnie używany.
- CVE-2026-77117Średnie
Konwersja spreparowanego wejścia SHIFT_JISX0213 do UCS-4 lub wewnętrznego kodowania szerokich znaków, na przykład za pomocą iconv, w GNU C Library w wersjach od 2.3 do 2.44 może spowodować, że konwerter nie robi postępów, powodując zawieszenie aplikacji wywołującej. Niektóre sekwencje SHIFT_JISX0213 dekodują się do dwóch punktów kodowych; jeśli bufor wyjściowy ma miejsce tylko na pierwszy z nich, konwerter zapisuje drugi w stanie konwersji i zwraca E2BIG, ale nigdy nie czyści tego oczekującego znaku po jego wyemitowaniu w następnym wywołaniu. Konwerter następnie stale emituje oczekujący znak bez zużywania dalszego wejścia, więc aplikacja ponawiająca konwersję zapętla się w nieskończoność. Wejście musi być kontrolowane przez atakującego, a aplikacja musi konwertować je z buforem wyjściowym wystarczająco małym, by rozdzielić dwa punkty kodowe. Dotyczy tylko zestawu znaków SHIFT_JISX0213, który nie jest powszechnie używany.
- CVE-2024-2961Wysokie
Funkcja iconv() w bibliotece GNU C w wersjach 2.39 i starszych może przepełnić bufor wyjściowy o maksymalnie 4 bajty podczas konwersji ciągów do zestawu znaków ISO-2022-CN-EXT. Może to prowadzić do awarii aplikacji lub nadpisania sąsiedniej zmiennej.
- CVE-2023-4911Wysokie
W bibliotece GNU C Library odkryto przepełnienie bufora w dynamicznym loaderze ld.so podczas przetwarzania zmiennej środowiskowej GLIBC_TUNABLES. Problem ten może umożliwić lokalnemu atakującemu wykorzystanie złośliwie skonstruowanych zmiennych środowiskowych GLIBC_TUNABLES przy uruchamianiu binariów z uprawnieniami SUID do wykonania kodu z podwyższonymi uprawnieniami.
- CVE-2025-4802Średnie
W GNU C Library w wersjach 2.27 do 2.38, podatność na nieufną zmienną środowiskową LD_LIBRARY_PATH pozwala na ładowanie dynamicznie współdzielonych bibliotek kontrolowanych przez atakującego w statycznie skompilowanych binariach setuid, które wywołują dlopen (w tym wewnętrzne wywołania dlopen po setlocale lub wywołania funkcji NSS).
- CVE-2025-0395Średnie
W GNU C Library w wersjach 2.13 do 2.40, funkcja assert() przy błędzie nie alokuje wystarczającej ilości miejsca na komunikat o błędzie asercji i informacje o rozmiarze, co może prowadzić do przepełnienia bufora, jeśli rozmiar komunikatu jest wyrównany do rozmiaru strony.
- CVE-2026-5450Krytyczne
Podatność w bibliotece GNU C Library (glibc) w wersjach od 2.7 do 2.43. Wywołanie funkcji z rodziny scanf z formatem %mc (dopasowanie znaku z alokacją pamięci) i jawną szerokością większą niż 1024 może prowadzić do przepełnienia sterty o jeden bajt.
- CVE-2026-19542Średnie
W GNU C Library w wersjach od 2.1 do 2.44 wywołanie tdelete na wystarczająco głębokim drzewie może zapisać jeden wskaźnik poza końcem tablicy alokowanej przez alloca na stosie, co może spowodować awarię aplikacji. Implementacja tdelete utrzymuje jawny stos węzłów nadrzędnych do rebalansowania, który jest powiększany w razie potrzeby podczas schodzenia w drzewie; dwie gałęzie rebalansowania dodają wpis bez sprawdzenia pojemności.
- CVE-2026-19499Wysokie
W GNU C Library w wersjach od 2.38 do 2.44 wywołanie strfmon lub strfmon_l może zapisać dane poza końcem bufora wyjściowego dostarczonego przez wywołującego, gdy konwersja używa wyrównania do prawej z dopełnianiem szerokości. Wykorzystanie wymaga ścieżki kodu aplikacji wywołującej te funkcje z takim dopełnianiem do bufora wystarczająco dużego dla dopełnienia, ale zbyt małego dla wewnętrznego wywołania memmove. W momencie publikacji nie są znane żadne skutki dla aplikacji dostępnych sieciowo.
- CVE-2026-18374Średnie
Przekazanie praktycznie pustego ciągu znaków do rozszerzenia składni `,ccs=` w argumencie trybu funkcji `fopen` w GNU C Library w wersji 2.45 lub wcześniejszej może skutkować przepełnieniem bufora na stercie, gdy ciąg trybu wejściowego jest kontrolowany przez atakującego. Ten wzorzec użycia nie występuje w typowych aplikacjach w dystrybucjach GNU/Linux, a aplikacje przetwarzające wartości dostarczone przez użytkownika dla `ccs` nie powinny przekazywać ich bez walidacji.
Oryginalny opis (angielski, źródło NVD)
The nscd service in the GNU C Library 2.3.4 onwards may crash due to a stack overflow when a malicious DNS server returns too large a response for a DNS query, resulting in degraded DNS resolution for the system. Exploitation of this bug needs a system that has nscd enabled and using an untrusted DNS server for name resolution, with the compromised DNS server being capable of processing records large enough to result in a stack overflow in an nscd thread stack. During experimentation, bind 9 was unable to handle large records, but that could change in future or with a different name server. In typical installations, nscd is executed in an isolated context as its own user without a shell, due to which any compromise of that service is isolated. There is a remote possibility of nscd cache corruption if an attacker manages to get the stack pointer into a desired point in the heap, potentially resulting in other caches in nscd being overwritten with corrupt data through the stack overflow, until the buggy code path eventually results in a crash. Finally, a crash in nscd may result in performance degradation when resolving names, but it does not result in a denial of service.

