Logo
componentlibxml2
Name
libxml2
Version
2.9.14
Type
library
Description
XML C Parser Library and Toolkit
Licenses
MIT
PURL
-
CPE
cpe:2.3:*:xmlsoft:libxml2:2.9.14:*:*:*:*:*:*:*

Other Versions#


Project
Branch
Version
master
2.15.3
scarthgap
2.12.10

Patches#


#
Title
Author
Resolve
1
Port gentest.py to Python 3
Nick Wellnhofer <wellnhofer@aevum.de>
2
tree: Fix integer overflow in xmlBuildQName
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2025-6021
3
libxml 64bit
Hongxu Jia <hongxu.jia@windriver.com>
4
Make XPath depth check work with recursive invocations
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2025-9714
5
testcatalog: Add new tests for catalog.c
Daniel Garcia Moreno <daniel.garcia@suse.com>
CVE-2026-0992
6
[CVE-2023-28484] Fix null deref in xmlSchemaFixupComplexType
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2023-28484
7
[CVE-2024-25062] xmlreader: Don't expand XIncludes when
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2024-25062
8
Make ptest run the python tests if python is enabled
Peter Kjellerstedt <pkj@axis.com>
9
[CVE-2025-24928] Fix stack-buffer-overflow in
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2025-24928
10
[CVE-2023-29469] Hashing of empty dict strings isn't
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2023-29469
11
CVE-2022-40303
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2022-40303
12
Add 'install-ptest' rule.
Tony Tascioglu <tony.tascioglu@windriver.com>
13
SAX: Always initialize SAX1 element handlers
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2023-39615
14
catalog: Do not check value for duplication nextCatalog
Daniel Garcia Moreno <dani@danigm.net>
CVE-2026-0992
15
schematron: Fix memory safety issues in
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2025-49794
CVE-2025-49796
16
malloc-fail: Fix memory leak in xmlStaticCopyNodeList
Nick Wellnhofer <wellnhofer@aevum.de>
17
CVE-2022-40304
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2022-40304
18
catalog: prevent inf recursion in xmlCatalogXMLResolveURI
Daniel Garcia Moreno <daniel.garcia@suse.com>
CVE-2026-0989
19
pattern: Fix compilation of explicit child axis
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2025-27113
20
AM_PATH_XML2 uses xml-config which we disable through
Tony Tascioglu <tony.tascioglu@windriver.com>
21
[CVE-2025-6170] Fix potential buffer overflows of interactive
Michael Mann <mmann78@netscape.net>
CVE-2025-6170
22
Fix buffer overread with `xmllint --htmlout`
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2024-34459
23
tree: Fix copying of DTDs
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2023-45322
24
[CVE-2024-56171] Fix use-after-free after
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2024-56171
25
malloc-fail: Fix use-after-free in xmlXIncludeAddNode
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2022-49043
26
Allow us to pass in PYTHON_SITE_PACKAGES
Hongxu Jia <hongxu.jia@windriver.com>
27
Remove fuzz testing from executing with ptests.
Tony Tascioglu <tony.tascioglu@windriver.com>
28
libxslt: heap-use-after-free in xmlFreeID caused by `atype`
David Kilzer <ddkilzer@apple.com>
CVE-2025-7425
29
Make sure that Makefile doesn't try to compile these tests
Hongxu Jia <hongxu.jia@windriver.com>
30
[CVE-2025-32414] python: Read at most len/4 characters.
Maks Verver <maks@verver.ch>
CVE-2025-32414
31
catalog: Ignore repeated nextCatalog entries
Daniel Garcia Moreno <daniel.garcia@suse.com>
CVE-2026-0989
32
[CVE-2025-32415] schemas: Fix heap buffer overflow in
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2025-32415
33
parser: Fix old SAX1 parser with custom callbacks
Nick Wellnhofer <wellnhofer@aevum.de>
CVE-2023-39615

Vulnerabilities#


Name
Analysis
Description
Patched
A flaw was found in the libxml2 library. This uncontrolled resource consumption vulnerability occurs when processing XML catalogs that contain repeated <nextCatalog> elements pointing to the same downstream catalog. A remote attacker can exploit this by supplying crafted catalogs, causing the parser to redundantly traverse catalog chains. This leads to excessive CPU consumption and degrades application availability, resulting in a denial-of-service condition.
Patched
A flaw was identified in the RelaxNG parser of libxml2 related to how external schema inclusions are handled. The parser does not enforce a limit on inclusion depth when resolving nested <include> directives. Specially crafted or overly complex schemas can cause excessive recursion during parsing. This may lead to stack exhaustion and application crashes, creating a denial-of-service risk.
Patched
Uncontrolled recursion in XPath evaluation in libxml2 up to and including version 2.9.14 allows a local attacker to cause a stack overflow via crafted expressions. XPath processing functions `xmlXPathRunEval`, `xmlXPathCtxtCompile`, and `xmlXPathEvalExpr` were resetting recursion depth to zero before making potentially recursive calls. When such functions were called recursively this could allow for uncontrolled recursion and lead to a stack overflow. These functions now preserve recursion depth across recursive calls, allowing recursion depth to be controlled.
Patched
A flaw was found in libxslt where the attribute type, atype, flags are modified in a way that corrupts internal memory management. When XSLT functions, such as the key() process, result in tree fragments, this corruption prevents the proper cleanup of ID attributes. As a result, the system may access freed memory, causing crashes or enabling attackers to trigger heap corruption.
Patched
A flaw was found in the interactive shell of the xmllint command-line tool, used for parsing XML files. When a user inputs an overly long command, the program does not check the input size properly, which can cause it to crash. This issue might allow attackers to run harmful code in rare configurations without modern protections.
Patched
A flaw was found in libxml2's xmlBuildQName function, where integer overflows in buffer size calculations can lead to a stack-based buffer overflow. This issue can result in memory corruption or a denial of service when processing crafted input.
Patched
A vulnerability was found in libxml2. Processing certain sch:name elements from the input XML file can trigger a memory corruption issue. This flaw allows an attacker to craft a malicious XML input file that can lead libxml to crash, resulting in a denial of service or other possible undefined behavior due to sensitive data being corrupted in memory.
Patched
A use-after-free vulnerability was found in libxml2. This issue occurs when parsing XPath elements under certain circumstances when the XML schematron has the <sch:name path="..."/> schema elements. This flaw allows a malicious actor to craft a malicious XML document used as input for libxml, resulting in the program's crash using libxml or other possible undefined behaviors.
Patched
In libxml2 before 2.13.8 and 2.14.x before 2.14.2, xmlSchemaIDCFillNodeTables in xmlschemas.c has a heap-based buffer under-read. To exploit this, a crafted XML document must be validated against an XML schema with certain identity constraints, or a crafted XML schema must be used.
Patched
In libxml2 before 2.13.8 and 2.14.x before 2.14.2, out-of-bounds memory access can occur in the Python API (Python bindings) because of an incorrect return value. This occurs in xmlPythonFileRead and xmlPythonFileReadRaw because of a difference between bytes and characters.
Patched
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a NULL pointer dereference in xmlPatMatch in pattern.c.
Patched
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted DTD. NOTE: this is similar to CVE-2017-9047.
Patched
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a use-after-free in xmlSchemaIDCFillNodeTables and xmlSchemaBubbleIDCNodeTables in xmlschemas.c. To exploit this, a crafted XML document must be validated against an XML schema with certain identity constraints, or a crafted XML schema must be used.
Patched
An issue was discovered in xmllint (from libxml2) before 2.11.8 and 2.12.x before 2.12.7. Formatting error messages with xmllint --htmlout can result in a buffer over-read in xmlHTMLPrintFileContext in xmllint.c.
Patched
An issue was discovered in libxml2 before 2.11.7 and 2.12.x before 2.12.5. When using the XML Reader interface with DTD validation and XInclude expansion enabled, processing crafted XML documents can lead to an xmlValidatePopElement use-after-free.
Patched
libxml2 through 2.11.5 has a use-after-free that can only occur after a certain memory allocation fails. This occurs in xmlUnlinkNode in tree.c. NOTE: the vendor's position is "I don't think these issues are critical enough to warrant a CVE ID ... because an attacker typically can't control when memory allocations fail."
Patched
Xmlsoft Libxml2 v2.11.0 was discovered to contain an out-of-bounds read via the xmlSAX2StartElement() function at /libxml2/SAX2.c. This vulnerability allows attackers to cause a Denial of Service (DoS) via supplying a crafted XML file. NOTE: the vendor's position is that the product does not support the legacy SAX1 interface with custom callbacks; there is a crash even without crafted input.
Patched
An issue was discovered in libxml2 before 2.10.4. When hashing empty dict strings in a crafted XML document, xmlDictComputeFastKey in dict.c can produce non-deterministic values, leading to various logic and memory errors, such as a double free. This behavior occurs because there is an attempt to use the first byte of an empty string, and any value is possible (not solely the '\0' value).
Patched
In libxml2 before 2.10.4, parsing of certain invalid XSD schemas can lead to a NULL pointer dereference and subsequently a segfault. This occurs in xmlSchemaFixupComplexType in xmlschemas.c.
Patched
xmlXIncludeAddNode in xinclude.c in libxml2 before 2.11.0 has a use-after-free.
Patched
An issue was discovered in libxml2 before 2.10.3. Certain invalid XML entity definitions can corrupt a hash table key, potentially leading to subsequent logic errors. In one case, a double-free can be provoked.
Patched
An issue was discovered in libxml2 before 2.10.3. When parsing a multi-gigabyte XML document with the XML_PARSE_HUGE parser option enabled, several integer counters can overflow. This results in an attempt to access an array at a negative 2GB offset, typically leading to a segmentation fault.
Exploitable
The xmlreader in libxml allows remote attackers to cause a denial of service (memory consumption) via crafted XML data, related to an XML Entity Expansion (XEE) attack.