Search vulnerabilities

Results 75

Export CSV
CVE-2026-128241

libexpat xmlwf through 2.10.0 Symlink Following via -d Output Directory

The xmlwf tool in libexpat through 2.10.0 contains a symlink following vulnerability because -d output mode opens files with fopen("wb"), which follows symbolic links. Local attackers with write access to the output directory can plant a symlink at the expected output name to truncate or overwrite files writable by the xmlwf user.

CVSS 4.0 · 4.1 Medium EPSS n/a KEV · Not listed
Products
CVE-2026-124317

libexpat through 2.10.0 Out-of-Bounds Read via unknown_toUtf8 and unknown_toUtf16

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.

CVSS 4.0 · 6.3 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-93990

Expat before 2.8.5 Malformed UTF-16 Acceptance via Unchecked Surrogate

Expat before 2.8.5 fails to validate that a high surrogate in UTF-16 input is followed by a low surrogate, allowing malformed UTF-16 sequences to be accepted. Attackers can supply UTF-16 encoded XML containing lone high surrogates that consume the following code unit, causing Expat to pass unpaired surrogates to applications built with XML_UNICODE and to silently replace input characters in other builds.

CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Products
CVE-2026-77214

libexpat Heap Buffer Over-read in xmlparse.c via XML_ParseBuffer

libexpat before commit 13c5f63 contains a heap buffer over-read vulnerability in xmlparse.c. XML_ParseBuffer advances the parse buffer end with parser->m_bufferEnd += len using a caller-supplied length that is not validated against the allocated buffer size, so repeated XML_ParseBuffer calls move m_bufferEnd past the end of the heap allocation and subsequent parsing reads out of bounds. Reaching this path requires a parse buffer to already be present; otherwise XML_ParseBuffer returns XML_ERROR_NO_BUFFER. A buffer is present after a prior call to XML_GetBuffer, either directly (the common case) or indirectly through a prior XML_Parse call that allocates the buffer internally. The over-read discloses adjacent heap memory to the calling application, recovering heap pointers, libc function pointers, and code pointers sufficient to defeat ASLR and build further exploitation primitives.

CVSS 4.0 · 8.3 High EPSS < 1% KEV · Not listed
Products
CVE-2026-76957

libexpat: libexpat: Memory corruption vulnerability allows arbitrary code execution or denial of service

libexpat before 2.8.4 lacks handler call depth tracking with custom encoding callbacks. Thus, a use-after-free can occur. NOTE: this is similar to CVE-2026-50219, CVE-2026-56131 and CVE-2026-56412.

CVSS 3.1 · 4.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-72522

expat: libexpat: Denial of Service due to incorrect Unicode surrogate handling

libexpat before 2.8.3 has an out-of-bounds read and resultant infinite loop because low surrogates are treated the same as high surrogates during Unicode processing in the *_toUtf16 functions.

CVSS 3.1 · 6.2 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-66046

Expat Denial of Service via storeAtts() Quadratic Complexity

Expat through 2.8.3 contains a denial of service vulnerability caused by quadratic algorithmic complexity in the storeAtts() function in xmlparse.c, where processing N specified attributes with non-normalized values triggers an O(N^2) linear scan of elementType->defaultAtts to determine CDATA status. A remote unauthenticated attacker can supply a single well-formed XML document of a few megabytes to an application parsing untrusted XML to cause excessive CPU consumption, resulting in denial of service without requiring authentication, external entity resolution, or non-default parser options.

CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Products
CVE-2026-56412

libexpat: libexpat: Use-after-free vulnerability due to improper handling of XML CDATA sections

libexpat before 2.8.2 does not consider XML_TOK_DATA_CHARS in doCdataSection and thus lacks handler call depth tracking for various calls from within handlers in cases of a policy violation. Thus, a use-after-free can occur. NOTE: this issue exists because of an incomplete fix for CVE-2026-50219.

CVSS 3.1 · 4.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56411

expat: libexpat: Integer Overflow Vulnerability Leading to Information Disclosure or Code Execution

xmlwf in libexpat before 2.8.2 has an integer overflow in endDoctypeDecl via NOTATION declarations.

CVSS 3.1 · 6.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56410

libexpat: libexpat: Integer overflow in xmlwf can lead to information disclosure and arbitrary code execution.

xmlwf in libexpat before 2.8.2 has an integer overflow in resolveSystemId.

CVSS 3.1 · 6.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56409

Integer Overflow in libexpat xmlwf Output File Handling

xmlwf in libexpat before 2.8.2 has an integer overflow for the output filename when -d outputDir is used.

CVSS 3.1 · 6.5 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56408

Integer Overflow in libexpat copyString Function

libexpat before 2.8.2 has an integer overflow in copyString.

CVSS 3.1 · 6.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56407

Integer Overflow in libexpat XML Parser

libexpat before 2.8.2 has an integer overflow in doProlog that is related to storeEntityValue and entity textLen.

CVSS 3.1 · 6.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56406

libexpat: libexpat: Arbitrary code execution via integer overflow in XML_ParseBuffer

libexpat before 2.8.2 has an integer overflow in XML_ParseBuffer because it lacked a check that was present in XML_Parse.

CVSS 3.1 · 6.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56405

libexpat: libexpat: Information disclosure and arbitrary code execution via integer overflow

libexpat before 2.8.2 has an integer overflow in getAttributeId.

CVSS 3.1 · 6.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56403

libexpat: libexpat: Arbitrary code execution due to integer overflow in storeAtts

libexpat before 2.8.2 has an integer overflow in storeAtts.

CVSS 3.1 · 6.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56132

expat: libexpat: Arbitrary Code Execution via Heap-based Buffer Overflow

In libexpat before 2.8.2, there is a heap-based buffer overflow in doProlog in xmlparse.c because scaffold backing array reallocation is mishandled when there is data-structure sharing across parsers.

CVSS 3.1 · 6.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-56131

Use-After-Free in libexpat's XML_ResumeParser Call Depth Tracking

libexpat before 2.8.2 lacks handler call depth tracking for calls to XML_ResumeParser from within handlers in cases of a policy violation. Thus, a use-after-free can occur (similar to the CVE-2026-50219 situation).

CVSS 3.1 · 4.9 Medium EPSS < 1% KEV · Not listed
Products
CVE-2026-50219

expat: libexpat: Use-after-free vulnerability due to improper handler call depth tracking

libexpat before 2.8.2 lacks handler call depth tracking for calls to XML_GetBuffer, XML_Parse, XML_ParseBuffer, XML_ParserFree, or XML_ParserReset from within handlers in cases of a policy violation. Thus, a use-after-free can occur,

CVSS 3.1 · 4.9 Medium EPSS < 1% KEV · Not listed
Products