Podatności libxml2
82 znanych podatności CVE w libxml2, przetłumaczonych i ocenionych.
- CVE-2026-86141Niskie
W bibliotece libxml2 przed wersją 2.15.4, xmlregexp w xmlRegNewParserCtxt ma dereferencję wskaźnika NULL po niepowodzeniu strdup, tj. nie oblicza długości ciągu po sprawdzeniu NULL.
- CVE-2026-86140Wysokie
W libxml2 przed wersją 2.15.4 funkcja xmlSnprintfElements w pliku valid.c zawiera przepełnienie bufora na stosie związane z użyciem funkcji strcat.
- CVE-2026-86139Średnie
W bibliotece libxml2 przed wersją 2.15.4 funkcja xmlURIEscapeStr w pliku uri.c zawiera przepełnienie liczb całkowitych.
- CVE-2026-86138Średnie
W bibliotece libxml2 przed wersją 2.15.4 funkcja xmlDictAddQString w pliku dict.c zawiera przepełnienie liczb całkowitych, które prowadzi do przepełnienia bufora na stercie.
- CVE-2026-86137Niskie
W bibliotece libxml2 przed wersją 2.15.4 występuje podatność polegająca na odczycie poza zakresem pamięci w funkcji xmlFAParsePosCharGroup, związana z makrem NXT w xmlregexp.
- CVE-2026-11979Wysokie
W narzędziu xmlcatalog biblioteki libxml2 wykryto wiele przepełnień bufora na stosie w trybie --shell. Funkcja usershell() przetwarza dane wejściowe użytkownika przy użyciu buforów o stałym rozmiarze bez odpowiedniego sprawdzania granic. Dostarczenie zbyt długiego wiersza wejściowego może przepełnić bufory wewnętrzne (command, arg i argv) podczas parsowania danych.
- CVE-2026-6732Średnie
W bibliotece libxml2 wykryto usterkę związaną z błędem typu (type confusion) podczas przetwarzania specjalnie spreparowanego dokumentu XML z definicją schematu (XSD) zawierającego wewnętrzne odwołanie do encji. Atakujący może wykorzystać tę podatność, dostarczając złośliwy dokument, co prowadzi do awarii aplikacji.
- CVE-2026-1757Średnie
W interaktywnej powłoce narzędzia xmllint, będącego częścią projektu libxml2, wykryto podatność, w której pamięć przydzielona dla danych wejściowych użytkownika nie jest prawidłowo zwalniana w określonych warunkach. Gdy użytkownik wprowadzi dane składające się wyłącznie z białych znaków, program pomija wykonanie polecenia, ale nie zwalnia przydzielonego bufora. Powtarzanie tej czynności powoduje ciągłe gromadzenie się pamięci. Z czasem może to wyczerpać pamięć systemową i zakończyć proces xmllint, tworząc warunki odmowy usługi w systemie lokalnym.
- CVE-2026-0992Niskie
W bibliotece libxml2 wykryto podatność polegającą na niekontrolowanym zużyciu zasobów podczas przetwarzania katalogów XML zawierających powtarzające się elementy <nextCatalog> wskazujące na ten sam katalog. Zdalny atakujący może wykorzystać to przez dostarczenie spreparowanych katalogów, powodując nadmiarowe przetwarzanie łańcuchów katalogów.
- CVE-2026-0990Średnie
W bibliotece libxml2 wykryto podatność na niekontrolowaną rekurencję w funkcji xmlCatalogXMLResolveURI. Problem występuje, gdy katalog XML zawiera wpis delegowanego URI odnoszący się do samego siebie, co prowadzi do nieskończonej rekurencji i wyczerpania stosu wywołań.
- CVE-2026-0989Niskie
W parserze RelaxNG biblioteki libxml2 wykryto błąd w obsłudze zewnętrznych dołączeń schematów. Parser nie ogranicza głębokości zagnieżdżenia dyrektyw <include>, co może prowadzić do nadmiernej rekurencji podczas przetwarzania. Specjalnie spreparowane schematy mogą spowodować wyczerpanie stosu i awarię aplikacji.
- CVE-2025-9714Średnie
W libxml2 do wersji 2.9.14 włącznie funkcje oceny XPath (xmlXPathRunEval, xmlXPathCtxtCompile, xmlXPathEvalExpr) resetowały głębokość rekurencji do zera przed wywołaniami rekurencyjnymi, co pozwalało lokalnemu atakującemu na wywołanie niekontrolowanej rekurencji i przepełnienie stosu za pomocą spreparowanych wyrażeń.
- CVE-2025-8732Niskie
W bibliotece libxml2 do wersji 2.14.5 wykryto podatność polegającą na niekontrolowanej rekurencji w funkcji xmlParseSGMLCatalog komponentu xmlcatalog. Atak wymaga dostępu lokalnego i może być przeprowadzony przy użyciu zaufanych katalogów SGML.
- CVE-2025-6170Niskie
Błąd w interaktywnej powłoce narzędzia xmllint do parsowania XML powoduje, że zbyt długie polecenie nie jest poprawnie sprawdzane pod kątem rozmiaru, co może prowadzić do awarii. W rzadkich konfiguracjach bez nowoczesnych zabezpieczeń możliwe jest wykonanie szkodliwego kodu.
- CVE-2025-49795Wysokie
W bibliotece libxml2 wykryto podatność polegającą na dereferencji wskaźnika NULL podczas przetwarzania wyrażeń XPath. Luka ta umożliwia atakującemu stworzenie złośliwego wejścia XML, co prowadzi do odmowy usługi.
- CVE-2025-6021Wysokie
W bibliotece libxml2 w funkcji xmlBuildQName wykryto błąd polegający na przepełnieniu liczb całkowitych podczas obliczania rozmiaru bufora, co może prowadzić do przepełnienia bufora na stosie. Problem może skutkować uszkodzeniem pamięci lub odmową usługi podczas przetwarzania spreparowanych danych wejściowych.
- CVE-2024-34459Wysokie
W narzędziu xmllint z biblioteki libxml2 przed wersjami 2.11.8 i 2.12.7 wykryto błąd. Formatowanie komunikatów błędów z opcją --htmlout może prowadzić do odczytu poza zakresem bufora w funkcji xmlHTMLPrintFileContext.
- CVE-2024-25062Wysokie
W bibliotece libxml2 przed wersją 2.11.7 oraz w gałęzi 2.12.x przed 2.12.5 wykryto błąd use-after-free w funkcji xmlValidatePopElement. Występuje on podczas przetwarzania spreparowanych dokumentów XML przy włączonej walidacji DTD i rozwijaniu XInclude w interfejsie XML Reader.
- CVE-2023-45322Średnie
libxml2 do wersji 2.11.5 zawiera podatność use-after-free, która może wystąpić tylko po niepowodzeniu pewnej alokacji pamięci. Występuje w funkcji xmlUnlinkNode w pliku tree.c. Producent uważa, że te problemy nie są wystarczająco krytyczne, aby uzyskać identyfikator CVE, ponieważ atakujący zazwyczaj nie może kontrolować momentu niepowodzenia alokacji pamięci.
- CVE-2023-29469Średnie
W libxml2 przed wersją 2.10.4 odkryto problem polegający na tym, że podczas hashowania pustych łańcuchów dict w spreparowanym dokumencie XML funkcja xmlDictComputeFastKey w dict.c może generować niedeterministyczne wartości, prowadząc do różnych błędów logicznych i pamięciowych, takich jak podwójne zwolnienie. Dzieje się tak, ponieważ podejmowana jest próba użycia pierwszego bajtu pustego łańcucha, a każda wartość jest możliwa (nie tylko '\0').
- CVE-2023-28484Średnie
W bibliotece libxml2 przed wersją 2.10.4 parsowanie niektórych nieprawidłowych schematów XSD może prowadzić do dereferencji wskaźnika NULL, a w konsekwencji do naruszenia ochrony pamięci (segfault). Problem występuje w funkcji xmlSchemaFixupComplexType w pliku xmlschemas.c.
- CVE-2022-29824Średnie
W libxml2 przed wersją 2.9.14 funkcje obsługi buforów w buf.c (xmlBuf*) i tree.c (xmlBuffer*) nie sprawdzają przepełnień liczb całkowitych, co może prowadzić do zapisów poza pamięcią. Wykorzystanie wymaga otwarcia spreparowanego, wielogigabajtowego pliku XML. Dotyczy to również innych programów używających funkcji buforowych libxml2, np. libxslt do wersji 1.1.35.
- CVE-2021-3541Średnie
W libxml2 znaleziono błąd polegający na możliwości przeprowadzenia ataku polegającego na ekspansji encji (exponential entity expansion), który może obejść wszystkie istniejące mechanizmy ochrony i prowadzić do odmowy usługi.
- CVE-2021-3516Wysokie
W libxml2 w wersji przed 2.9.11 występuje błąd w narzędziu xmllint. Atakujący, który może dostarczyć spreparowany plik do przetworzenia przez xmllint, może wywołać użycie po zwolnieniu pamięci (use-after-free). Największy wpływ tej podatności dotyczy poufności, integralności i dostępności.
- CVE-2021-3537Średnie
W bibliotece libxml2 przed wersją 2.9.11 stwierdzono, że nie propaguje błędów podczas analizowania mieszanej zawartości XML, co powoduje odwołanie do wskaźnika NULL. Jeśli niezaufany dokument XML był analizowany w trybie odzyskiwania i poddany walidacji po analizie, błąd mógł zostać wykorzystany do awarii aplikacji. Największe zagrożenie z tej podatności dotyczy dostępności systemu.
- CVE-2020-24977Średnie
Biblioteka libxml2 w wersji 2.9.10 projektu GNOME ma globalną podatność na odczyt poza zakresem bufora (buffer over-read) w funkcji xmlEncodeEntitiesInternal w pliku libxml2/entities.c. Problem został naprawiony w commicie 50f06b3e.
- CVE-2019-20388Wysokie
Funkcja xmlSchemaPreRun w pliku xmlschemas.c w libxml2 2.9.10 pozwala na wyciek pamięci w xmlSchemaValidateStream.
- CVE-2018-14404Średnie
W bibliotece libxml2 do wersji 2.9.8 występuje podatność na odwołanie do wskaźnika NULL w funkcji xmlXPathCompOpEval() w pliku xpath.c podczas analizowania nieprawidłowego wyrażenia XPath w przypadkach XPATH_OP_AND lub XPATH_OP_OR. Aplikacje przetwarzające niezaufane dane wejściowe w formacie XSL przy użyciu libxml2 mogą być podatne na atak typu denial of service z powodu awarii aplikacji.
- CVE-2017-18258Średnie
Funkcja xz_head w pliku xzlib.c w libxml2 przed wersją 2.9.6 pozwala zdalnym atakującym na wywołanie odmowy usługi (zużycie pamięci) poprzez spreparowany plik LZMA, ponieważ funkcja dekodera nie ogranicza użycia pamięci do wymaganego dla legalnego pliku.
- CVE-2017-0663Wysokie
W libxml2 występuje podatność na zdalne wykonanie kodu, która może pozwolić atakującemu na wykonanie dowolnego kodu w kontekście procesu bez uprawnień. Problem ten dotyczy aplikacji korzystających z tej biblioteki w systemie Android.
- CVE-2017-9047Wysokie
W bibliotece libxml2 odkryto przepełnienie bufora w funkcji xmlSnprintfElementContent, które może prowadzić do zapisu danych poza przydzieloną pamięcią. Problem występuje, gdy sprawdzanie długości bufora nie uwzględnia aktualnej długości po dodaniu prefiksu.
- CVE-2016-9318Średnie
libxml2 w wersji 2.9.4 i wcześniejszych, używany w XMLSec 1.2.23 i wcześniejszych oraz w innych produktach, nie oferuje flagi bezpośrednio wskazującej, że bieżący dokument może być odczytywany, ale inne pliki nie mogą być otwierane, co ułatwia zdalnym atakującym przeprowadzanie ataków XML External Entity (XXE) za pomocą spreparowanego dokumentu.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

