Podatności libexpat
38 znanych podatności CVE w libexpat, przetłumaczonych i ocenionych.
- 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-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.
- 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.
- CVE-2026-72522Średnie
W libexpat przed wersją 2.8.3 wykryto podatność na odczyt poza zakresem i wynikającą z tego nieskończoną pętlę, ponieważ niskie surogaty są traktowane tak samo jak wysokie podczas przetwarzania Unicode w funkcjach *_toUtf16.
- CVE-2026-56412Średnie
W bibliotece libexpat przed wersją 2.8.2 nie uwzględniono XML_TOK_DATA_CHARS w funkcji doCdataSection, co prowadzi do braku śledzenia głębokości wywołań handlerów w przypadku naruszenia polityki. Może to skutkować wystąpieniem błędu use-after-free.
- CVE-2026-56411Średnie
W bibliotece libexpat przed wersją 2.8.2 występuje przepełnienie całkowite w funkcji xmlwf, które może wystąpić podczas przetwarzania deklaracji NOTATION w endDoctypeDecl.
- CVE-2026-56410Średnie
W bibliotece libexpat przed wersją 2.8.2 występuje przepełnienie całkowite w funkcji resolveSystemId, co może prowadzić do nieprzewidzianych zachowań aplikacji.
- CVE-2026-56409Średnie
W bibliotece libexpat przed wersją 2.8.2 występuje przepełnienie całkowite dla nazwy pliku wyjściowego, gdy używana jest opcja -d outputDir.
- CVE-2026-56408Średnie
W bibliotece libexpat przed wersją 2.8.2 występuje przepełnienie całkowite w funkcji copyString.
- CVE-2026-56407Średnie
W bibliotece libexpat przed wersją 2.8.2 występuje przepełnienie całkowite w funkcji doProlog, które jest związane z funkcjami storeEntityValue oraz entity textLen.
- CVE-2026-56406Średnie
W bibliotece libexpat przed wersją 2.8.2 występuje przepełnienie całkowite w funkcji XML_ParseBuffer z powodu braku odpowiedniego sprawdzenia, które było obecne w funkcji XML_Parse.
- CVE-2026-56405Średnie
W bibliotece libexpat przed wersją 2.8.2 występuje przepełnienie całkowite w funkcji getAttributeId.
- CVE-2026-56404Średnie
W wersjach libexpat przed 2.8.2 występuje przepełnienie całkowite w funkcji addBinding.
- CVE-2026-56403Średnie
W wersjach libexpat przed 2.8.2 występuje przepełnienie całkowite w funkcji storeAtts.
- CVE-2026-56132Średnie
W libexpat przed wersją 2.8.2 występuje przepełnienie bufora na stercie w funkcji doProlog w pliku xmlparse.c. Problem ten wynika z niewłaściwego zarządzania reallocacją tablicy pomocniczej, gdy struktury danych są współdzielone pomiędzy parserami.
- CVE-2026-56131Średnie
W bibliotece libexpat przed wersją 2.8.2 brakuje śledzenia głębokości wywołań handlerów dla wywołań XML_ResumeParser w przypadkach naruszenia polityki. Może to prowadzić do sytuacji use-after-free.
- CVE-2026-50219Średnie
libexpat przed wersją 2.8.2 nie śledzi głębokości wywołań handlerów dla wywołań XML_GetBuffer, XML_Parse, XML_ParseBuffer, XML_ParserFree lub XML_ParserReset z wnętrza handlerów w przypadku naruszenia zasad. Może to prowadzić do użycia po zwolnieniu (use-after-free).
- CVE-2026-45186Niskie
W libexpat przed wersją 2.8.1 złożoność obliczeniowa sprawdzania kolizji nazw atrybutów umożliwia atak DoS za pomocą umiarkowanie dużego, spreparowanego wejścia XML.
- CVE-2026-41080Niskie
Podatność w bibliotece libexpat przed wersją 2.8.0 wynika z użycia niewystarczającej entropii, co umożliwia atak typu hash flooding za pomocą spreparowanego dokumentu XML.
- CVE-2026-32778Niskie
W bibliotece libexpat przed wersją 2.7.5 występuje podatność polegająca na wyłuskaniu wskaźnika NULL w funkcji setContext podczas ponownej próby po wcześniejszym błędzie braku pamięci.
- CVE-2026-32777Średnie
Biblioteka libexpat przed wersją 2.7.5 zawiera podatność polegającą na nieskończonej pętli podczas przetwarzania treści DTD. Atakujący może dostarczyć specjalnie spreparowane dane wejściowe, co prowadzi do zawieszenia aplikacji.
- CVE-2026-32776Średnie
W bibliotece libexpat przed wersją 2.7.5 występuje podatność polegająca na dereferencji wskaźnika NULL podczas przetwarzania pustej treści zewnętrznego parametru encji. Może to prowadzić do awarii aplikacji korzystającej z tej biblioteki.
- CVE-2024-8176Wysokie
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.
- 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-2023-52425Wysokie
Biblioteka libexpat w wersjach do 2.5.0 pozwala na atak typu denial of service poprzez wyczerpanie zasobów. Dzieje się tak, gdy duży token wymaga wielokrotnego wypełniania bufora i wielu pełnych ponownych parsowań.
- CVE-2022-43680Wysokie
W bibliotece libexpat do wersji 2.4.9 występuje podatność use-after-free spowodowana zbyt pochopnym niszczeniem współdzielonego DTD w funkcji XML_ExternalEntityParserCreate w sytuacjach braku pamięci.
- CVE-2022-40674Wysokie
W bibliotece libexpat przed wersją 2.4.9 występuje podatność use-after-free w funkcji doContent w pliku xmlparse.c.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

