CVE-2026-124317
ŚrednieCVSS 4.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
libexpat do wersji 2.10.0 zawiera podatność odczytu poza granicami bufora w funkcjach unknown_toUtf8() i unknown_toUtf16() w pliku xmltok.c podczas obsługi nieznanych kodowań zarejestrowanych przez aplikację. Atakujący może dostarczyć dokument kończący się obciętym wielobajtowym ciągiem, powodując odczyt przez callback konwersji poza bufor parsowania, co prowadzi do wycieku sąsiedniej pamięci lub awarii aplikacji.
Ocena ryzyka
Podatność może prowadzić do ujawnienia danych z pamięci procesu lub odmowy usługi w aplikacjach parsujących niezaufany XML. Wpływa na szeroką klasę oprogramowania korzystającego z libexpat.
Rekomendacja
Zaktualizuj libexpat do wersji nowszej niż 2.10.0. Do czasu aktualizacji unikaj przetwarzania niezaufanych dokumentów XML z niestandardowymi kodowaniami.
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-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-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-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)
libexpat through 2.10.0 contains an out-of-bounds read vulnerability in unknown_toUtf8() and unknown_toUtf16() in xmltok.c when handling application-registered unknown encodings. Attackers can supply a document ending in a truncated multibyte sequence so the convert callback reads past the parse buffer, leaking adjacent memory or crashing applications.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

