CVE-2017-9233
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 95 - wyżej niż 95% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący mogą wykorzystać tę podatność do zakłócenia działania aplikacji, co może prowadzić do odmowy usługi.
Rekomendacja
Zaleca się aktualizację biblioteki libexpat do wersji 2.2.1 lub nowszej, aby usunąć tę podatność.
Inne podatności w libexpat
Zobacz wszystkie- CVE-2026-113351Średnie
Biblioteka libexpat w wersjach 2.7.2–2.9.0 zawiera podatność na atak typu denial of service. Funkcja XML_ParserReset zeruje licznik bezpośrednich bajtów, ale nie koryguje śledzonych alokacji sterty, przez co po przetworzeniu dużego dokumentu kolejne dokumenty na tym samym parserze kończą się błędem XML_ERROR_NO_MEMORY aż do jego odtworzenia.
- 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-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-2019-15903Wysokie
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.
- CVE-2026-118370Średnie
W libexpat do wersji 2.9.0 występuje podatność przepełnienia liczb całkowitych ze znakiem w funkcji storeAtts() w pliku lib/xmlparse.c, pozwalająca atakującym wywołać zapisy poza granicami bufora poprzez nadmierną liczbę atrybutów. Atakujący może dostarczyć dokument wielogigabajtowy z tagiem początkowym zawierającym ponad 2^30 atrybutów, aby przepełnić attIndex i nPrefixes, powodując awarię aplikacji lub uszkodzenie pamięci sterty.
- CVE-2026-117610Średnie
W libexpat do wersji 2.9.0 występuje podatność dereferencji wskaźnika NULL w funkcji externalEntityInitProcessor2() w pliku lib/xmlparse.c, która nieprawidłowo obsługuje token XML_TOK_NONE z pustego wejścia. Atakujący kontrolujący podział strumienia na fragmenty może wymusić pusty, niekońcowy pierwszy parse na podparserze encji zewnętrznej, powodując awarię aplikacji przy późniejszym parsowaniu.
- CVE-2026-115506Wysokie
libexpat do wersji 2.9.0 zawiera podatność na odmowę usługi, ponieważ ochrona przed atakiem 'billion laughs' w funkcji accountingDiffTolerated() w xmlparse.c wykrywa amplifikację encji zbyt późno. Atakujący może dostarczyć umiarkowanie duży dokument XML z dużym DTD i zagnieżdżonymi rozwinięciami encji, aby zużyć dziesiątki sekund czasu CPU na każde parsowanie.
Oryginalny opis (angielski, źródło NVD)
XML External Entity vulnerability in libexpat 2.2.0 and earlier (Expat XML Parser Library) allows attackers to put the parser in an infinite loop using a malformed external entity definition from an external DTD.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

