CVE-2024-8176
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 69 - wyżej niż 69% wszystkich znanych CVE
Streszczenie
Biblioteka libexpat zawiera podatność przepełnienia stosu spowodowaną nieograniczoną rekurencją podczas przetwarzania zagnieżdżonych encji w dokumentach XML. Atakujący może dostarczyć specjalnie spreparowany plik XML, który doprowadzi do wyczerpania stosu i awarii aplikacji.
Ocena ryzyka
Podatność może zostać wykorzystana do przeprowadzenia ataku typu DoS (odmowa usługi) poprzez zdalne wysłanie złośliwego dokumentu XML. W niektórych środowiskach może również prowadzić do nadpisywania pamięci, co stwarza ryzyko dalszej eskalacji uprawnień.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę libexpat do najnowszej wersji, która zawiera poprawkę ograniczającą głębokość rekurencji. W międzyczasie warto wdrożyć walidację dokumentów XML przed ich przetwarzaniem.
Inne podatności w libexpat
Zobacz wszystkie- CVE-2026-102633Średnie
W bibliotece libexpat w wersjach 2.7.2 do 2.8.5 występuje przepełnienie liczb całkowitych w funkcji expat_realloc() na platformach 32-bitowych podczas obliczania rozmiarów alokacji. Atakujący dostarczający złośliwy XML do aplikacji parsujących z podatną biblioteką libexpat może spowodować przepełnienie bufora sterty, uszkodzenie pamięci lub odmowę usługi.
- CVE-2024-45490Wysokie
W bibliotece libexpat przed wersją 2.6.3 odkryto problem, w którym xmlparse.c nie odrzuca ujemnej długości dla funkcji XML_ParseBuffer.
- CVE-2017-11742Wysokie
Funkcja writeRandomBytes_RtlGenRandom w xmlparse.c w libexpat w wersjach 2.2.1 i 2.2.2 na systemie Windows umożliwia lokalnym użytkownikom uzyskanie uprawnień poprzez złośliwy plik ADVAPI32.DLL w bieżącym katalogu roboczym z powodu niezaufanej ścieżki wyszukiwania, co jest znane jako hijacking DLL.
- CVE-2024-50602Średnie
Problem w bibliotece libexpat przed wersją 2.6.4. Funkcja XML_ResumeParser może ulec awarii, jeśli XML_StopParser zatrzyma/zawiesi nieuruchomiony parser.
- CVE-2024-45492Krytyczne
W bibliotece libexpat przed wersją 2.6.3 odkryto problem, który może prowadzić do przepełnienia całkowitego w funkcji nextScaffoldPart w pliku xmlparse.c na platformach 32-bitowych.
- CVE-2024-45491Krytyczne
W libexpat przed wersją 2.6.3 odkryto problem związany z przepełnieniem całkowitym w funkcji dtdCopy w pliku xmlparse.c. Problem ten występuje na platformach 32-bitowych, gdzie UINT_MAX równa się SIZE_MAX.
- CVE-2017-9233Wysokie
Podatność typu XML External Entity w bibliotece libexpat w wersji 2.2.0 i wcześniejszych umożliwia atakującym wprowadzenie parsera w nieskończoną pętlę za pomocą źle sformułowanej definicji zewnętrznego bytu z zewnętrznego DTD.
- CVE-2026-77214Wysokie
libexpat przed commitem 13c5f63 zawiera podatność przepełnienia bufora sterty w xmlparse.c. Funkcja XML_ParseBuffer przesuwa koniec bufora parsowania za pomocą parser->m_bufferEnd += len, używając długości dostarczonej przez wywołującego, która nie jest walidowana względem rozmiaru przydzielonego bufora, co prowadzi do odczytu poza granicami sterty i ujawnienia sąsiedniej pamięci, w tym wskaźników sterty, funkcji libc i kodu, wystarczających do obejścia ASLR.
- CVE-2026-76957Średnie
W libexpat przed wersją 2.8.4 brakuje śledzenia głębokości wywołań handlerów z niestandardowymi callbackami kodowania. Może to prowadzić do użycia po zwolnieniu (use-after-free). Podobne podatności to CVE-2026-50219, CVE-2026-56131 i CVE-2026-56412.
- CVE-2026-76956Średnie
W bibliotece libexpat w wersjach 2.8.2 i 2.8.3 przed 2.8.4 błędna interpretacja kodu zwrotnego funkcji getentropy prowadzi do niewystarczającej entropii, co czyni system podatnym na ataki typu hash flooding, powodujące odmowę usługi poprzez spreparowane treści XML.
Oryginalny opis (angielski, źródło NVD)
A stack overflow vulnerability exists in the libexpat library due to the way it handles recursive entity expansion in XML documents. When parsing an XML document with deeply nested entity references, libexpat can be forced to recurse indefinitely, exhausting the stack space and causing a crash. This issue could lead to denial of service (DoS) or, in some cases, exploitable memory corruption, depending on the environment and library usage.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

