CVE-2019-15903
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 94 - wyżej niż 94% wszystkich znanych CVE
Streszczenie
W libexpat przed wersją 2.2.8, specjalnie spreparowane dane XML mogą spowodować zbyt wczesne przełączenie parsera z trybu DTD na tryb dokumentu, a następnie wywołanie XML_GetCurrentLineNumber lub XML_GetCurrentColumnNumber prowadzi do odczytu poza buforem na stercie.
Ocena ryzyka
Podatność może prowadzić do ujawnienia informacji lub awarii aplikacji przetwarzającej niezaufane dane XML.
Rekomendacja
Zaleca się aktualizację libexpat do wersji 2.2.8 lub nowszej oraz unikanie przetwarzania niezaufanych plików XML.
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)
In libexpat before 2.2.8, crafted XML input could fool the parser into changing from DTD parsing to document parsing too early; a consecutive call to XML_GetCurrentLineNumber (or XML_GetCurrentColumnNumber) then resulted in a heap-based buffer over-read.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

