Podatności glibc
41 znanych podatności CVE w glibc, przetłumaczonych i ocenionych.
- 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.
- 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.
- CVE-2022-23218Krytyczne
Przestarzała funkcja kompatybilności svcunix_create w module sunrpc GNU C Library (znanej jako glibc) do wersji 2.34 kopiuje swój argument ścieżki na stos bez walidacji jego długości, co może skutkować przepełnieniem bufora, potencjalnie prowadząc do odmowy usługi lub (jeśli aplikacja nie jest zbudowana z włączoną ochroną stosu) do wykonania dowolnego kodu.
- CVE-2021-33574Krytyczne
Funkcja mq_notify w bibliotece GNU C Library (glibc) w wersjach 2.32 i 2.33 zawiera błąd typu use-after-free. Może ona użyć obiektu atrybutów wątku powiadomień (przekazanego przez parametr struct sigevent) po tym, jak został on zwolniony przez wywołującego, co prowadzi do odmowy usługi (awarii aplikacji) lub potencjalnie innych nieokreślonych skutków.
- CVE-1999-0199Krytyczne
Dokumentacja manual/search.texi w bibliotece GNU C Library (glibc) przed wersją 2.2 nie zawiera informacji o nieokreślonej wartości zwracanej przez tdelete przy usuwaniu korzenia drzewa. Może to prowadzić do użycia wiszącego wskaźnika w aplikacjach, których twórcy nie znali aktualizacji dokumentacji z 1999 roku.
- CVE-2019-9169Krytyczne
W GNU C Library (glibc) do wersji 2.29 funkcja proceed_next_node w posix/regexec.c ma przepełnienie bufora na stercie podczas próby dopasowania wyrażenia regularnego bez uwzględniania wielkości liter.
- CVE-2016-10228Średnie
Program iconv w GNU C Library (glibc lub libc6) w wersjach do 2.31, gdy jest wywoływany z wieloma sufiksami w kodowaniu docelowym (TRANSLATE lub IGNORE) wraz z opcją -c, wchodzi w nieskończoną pętlę podczas przetwarzania nieprawidłowych sekwencji wielobajtowych, co prowadzi do odmowy usługi.
- CVE-2026-95818Niskie
Przepełnienie bufora stosu w dynamicznym loaderze (ld.so) biblioteki GNU C (glibc) w wersjach od 2.14 do 2.44 pozwala lokalnemu atakującemu na awarię lub uszkodzenie pamięci programów setuid/setgid (AT_SECURE). Gdy DT_RPATH lub DT_RUNPATH takiego programu zaczyna się od $ORIGIN i jest następowane przez NUL lub '/', loader zarówno odczytuje poza bufor ścieżki, jak i zapisuje poza wewnętrzny bufor stosu. Uszkodzony stos loadera może prowadzić do awarii (odmowa usługi) i ograniczonego ujawnienia pamięci procesu.
- CVE-2026-86805Średnie
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.
- CVE-2026-6791Średnie
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.
- CVE-2023-4806Średnie
W glibc odkryto usterkę polegającą na użyciu zwolnionej pamięci w funkcji getaddrinfo. W bardzo rzadkiej sytuacji, gdy moduł NSS implementuje tylko określone haki, a zapytanie spełnia specyficzne warunki, może dojść do awarii aplikacji.
- CVE-2023-4813Średnie
W glibc zidentyfikowano lukę. W rzadkiej sytuacji funkcja gaih_inet może użyć zwolnionej pamięci, powodując awarię aplikacji. Luka jest wykorzystywana tylko gdy wywoływana jest funkcja getaddrinfo, a baza hosts w /etc/nsswitch.conf jest skonfigurowana z SUCCESS=continue lub SUCCESS=merge.
- CVE-2021-3999Wysokie
W glibc znaleziono błąd polegający na przepełnieniu bufora o jeden bajt (off-by-one) oraz niedomiarze w funkcji getcwd(), co może prowadzić do uszkodzenia pamięci, gdy rozmiar bufora wynosi dokładnie 1. Lokalny atakujący, który może kontrolować bufor wejściowy i rozmiar przekazywany do getcwd() w programie setuid, może wykorzystać tę wadę do potencjalnego wykonania dowolnego kodu i eskalacji uprawnień.
- CVE-2021-3998Wysokie
W bibliotece glibc wykryto błąd. Funkcja realpath() może błędnie zwracać nieoczekiwaną wartość, co potencjalnie prowadzi do wycieku informacji i ujawnienia danych wrażliwych.
- CVE-2021-43396Wysokie
W pliku iconvdata/iso-2022-jp-3.c w bibliotece GNU C Library (glibc) 2.34 zdalni atakujący mogą wymusić na funkcji iconv() wyemitowanie fałszywego znaku '\0' poprzez spreparowane dane ISO-2022-JP-3 z resetem stanu wewnętrznego. Może to wpłynąć na integralność danych w niektórych przypadkach użycia iconv(). Producent twierdzi, że błąd nie może być wywołany przez dane wejściowe użytkownika i wymaga wywołania iconv() z NULL w inbuf, co powinno wymagać osobnego błędu aplikacji.
- CVE-2021-38604Wysokie
W bibliotece librt w GNU C Library (glibc) do wersji 2.34 plik sysdeps/unix/sysv/linux/mq_notify.c nieprawidłowo obsługuje pewne dane NOTIFY_REMOVED, co prowadzi do dereferencji wskaźnika NULL. Podatność została wprowadzona jako efekt uboczny poprawki CVE-2021-33574.
- CVE-2020-27618Średnie
Funkcja iconv w bibliotece GNU C Library (glibc) w wersji 2.32 i wcześniejszych, podczas przetwarzania nieprawidłowych sekwencji wielobajtowych w kodowaniach IBM1364, IBM1371, IBM1388, IBM1390 i IBM1399, nie przesuwa stanu wejściowego, co może prowadzić do nieskończonej pętli w aplikacjach i w konsekwencji do odmowy usługi. Jest to inna podatność niż CVE-2016-10228.
- CVE-2021-27645Niskie
Demon buforujący serwerów nazw (nscd) w bibliotece GNU C Library (glibc) w wersjach od 2.29 do 2.33, podczas przetwarzania żądania wyszukiwania netgroup, może ulec awarii z powodu podwójnego zwolnienia pamięci (double-free). Może to prowadzić do degradacji usługi lub odmowy usługi (DoS) w systemie lokalnym. Problem dotyczy pliku netgroupcache.c.
- CVE-2021-3326Wysokie
Funkcja iconv w GNU C Library (glibc) w wersji 2.32 i wcześniejszych, podczas przetwarzania nieprawidłowych sekwencji wejściowych w kodowaniu ISO-2022-JP-3, nie spełnia asercji w ścieżce kodu i przerywa program, co potencjalnie prowadzi do odmowy usługi.
- CVE-2019-25013Średnie
Funkcja iconv w GNU C Library (glibc) do wersji 2.32 może mieć przepełnienie bufora podczas odczytu (buffer over-read) podczas przetwarzania nieprawidłowych sekwencji wejściowych wielobajtowych w kodowaniu EUC-KR.
- CVE-2020-29573Wysokie
W bibliotece GNU C Library (glibc) przed wersją 2.23 na platformach x86 występuje przepełnienie bufora na stosie, gdy do funkcji z rodziny printf przekazana zostanie 80-bitowa wartość long double z niekanonicznym wzorcem bitowym.
- CVE-2020-29562Średnie
Funkcja iconv w bibliotece GNU C Library (glibc) w wersjach 2.30 do 2.32, podczas konwersji tekstu UCS4 zawierającego nieodwracalny znak, nie przechodzi asercji w ścieżce kodu i przerywa program. Może to prowadzić do odmowy usługi.
- CVE-2020-1752Wysokie
Podatność use-after-free wprowadzona w glibc w wersji 2.14 została znaleziona w sposobie przeprowadzania ekspansji tyldy. Ścieżki katalogów zawierające początkową tyldę, po której następuje prawidłowa nazwa użytkownika, były dotknięte tym problemem. Lokalny atakujący może wykorzystać tę wadę, tworząc specjalnie spreparowaną ścieżkę, która po przetworzeniu przez funkcję glob może prowadzić do wykonania dowolnego kodu. Problem został naprawiony w wersji 2.32.
- CVE-2020-1751Średnie
Znaleziono podatność na zapis poza granicami w glibc przed wersją 2.31 podczas obsługi trampolin sygnałowych na architekturze PowerPC. Funkcja backtrace nie sprawdzała poprawnie granic tablicy podczas przechowywania adresu ramki, co może prowadzić do odmowy usługi lub potencjalnego wykonania kodu. Największe zagrożenie z tej podatności dotyczy dostępności systemu.
- CVE-2020-10029Średnie
GNU C Library (glibc) przed wersją 2.32 może przepełnić bufor na stosie podczas redukcji zakresu, jeśli dane wejściowe do funkcji 80-bitowej long double zawierają niekanoniczny wzorzec bitowy, co zaobserwowano przy przekazaniu wartości 0x5d414141414141410000 do funkcji sinl na platformach x86. Problem dotyczy pliku sysdeps/ieee754/ldbl-96/e_rem_pio2l.c.
- CVE-2019-19126Niskie
W architekturze x86-64 biblioteka GNU C Library (glibc) przed wersją 2.31 nie ignoruje zmiennej środowiskowej LD_PREFER_MAP_32BIT_EXEC podczas wykonywania programu po przejściu bezpieczeństwa. Umożliwia to lokalnym atakującym ograniczenie możliwych adresów mapowania ładowanych bibliotek i obejście ASLR dla programów setuid.
- CVE-2019-1010023Średnie
GNU Libc jest dotknięty problemem polegającym na ponownym mapowaniu aktualnie załadowanej biblioteki złośliwym plikiem ELF. W najgorszym przypadku atakujący może ocenić uprawnienia. Dotyczy to komponentu libld. Wektor ataku: atakujący wysyła 2 pliki ELF ofierze i prosi o uruchomienie na nich ldd. ldd wykonuje kod. Uwaga: komentarze upstream wskazują, że "jest to traktowane jako problem nie związany z bezpieczeństwem i nie stanowi realnego zagrożenia".
- CVE-2019-7309Średnie
W GNU C Library (glibc) do wersji 2.29, funkcja memcmp dla architektury x32 może nieprawidłowo zwrócić zero (wskazując, że dane wejściowe są równe), ponieważ najważniejszy bit rejestru RDX jest nieprawidłowo obsługiwany. Może to prowadzić do błędnych wyników porównań.
- CVE-2016-10739Średnie
W GNU C Library (glibc) do wersji 2.28, funkcja getaddrinfo poprawnie parsowała ciąg zawierający adres IPv4, po którym następowały białe znaki i dowolne znaki, co mogło prowadzić do błędnego założenia przez aplikacje, że parsowały poprawny ciąg, bez możliwości osadzenia nagłówków HTTP lub innych potencjalnie niebezpiecznych podciągów.
- CVE-2019-6488Wysokie
Komponent string w GNU C Library (glibc) do wersji 2.28, gdy działa na architekturze x32, niepoprawnie próbuje użyć 64-bitowego rejestru dla size_t w kodzie asemblera, co może prowadzić do błędu segmentacji lub innych nieokreślonych skutków, jak pokazano na przykładzie awarii w __memmove_avx_unaligned_erms w sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S podczas memcpy.
- CVE-2000-0959Niskie
glibc2 nie czyści poprawnie zmiennych środowiskowych LD_DEBUG_OUTPUT i LD_DEBUG, gdy program jest uruchamiany z programu setuid, co może pozwolić lokalnym użytkownikom na nadpisanie plików poprzez atak z użyciem dowiązań symbolicznych.
- CVE-2000-0335Wysokie
Resolver w glibc 2.1.3 używa przewidywalnych identyfikatorów, co pozwala lokalnemu atakującemu na fałszowanie wyników zapytań DNS.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

