Cloudanix VulnDB

CVE-2026-56403

Medium · 6.9

CVSS

6.9

EPSS

0.2%

Published

Jun 21, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

Software that reads XML files may be vulnerable to specially crafted input that can crash it or let an attacker access or change data, so affected components should be updated.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
High
Impact
Full Compromise
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

libexpat versions before 2.8.2 contain an integer overflow in the storeAtts attribute-handling logic. When a vulnerable application parses specially crafted XML, the overflow can corrupt memory during attribute storage. Depending on build options, allocator behavior, platform protections, and how the embedding application uses libexpat, this may result in process crashes, memory disclosure, or potentially attacker-controlled code execution within the privileges of the affected process. The CVSS vector indicates local attack conditions with high complexity, no privileges required, and high confidentiality and integrity impact with limited availability impact.

Why it matters to the business

Applications, services, agents, command-line tools, and middleware that rely on vulnerable libexpat versions may be exposed to compromise when they process untrusted XML. A successful exploit could allow tampering with data handled by the affected process, exposure of sensitive information, or service instability. Current public exploitation signals are low: it is not listed in CISA KEV, is not associated with ransomware use, has low EPSS, and no mature exploit is reported; however, libexpat is widely embedded and may be inherited through operating system packages, language runtimes, appliances, and third-party products, making inventory and patch validation important.

How an attack unfolds

An attacker first identifies software that uses a vulnerable libexpat library and can be made to parse attacker-controlled XML. The attacker then crafts XML with attribute structures intended to trigger the integer overflow in storeAtts. When the vulnerable parser processes the document, incorrect size calculations can lead to memory corruption. In less reliable attempts, this may only crash the process; in a successful high-complexity exploitation scenario, the attacker may influence memory layout enough to read sensitive memory, alter program execution, or execute code in the context of the parsing process. Because this is a library vulnerability, the reachable attack surface depends on the embedding product: in some deployments the input may be local files, while in others it may be uploaded XML, API payloads, configuration imports, document processing, package metadata, or service-to-service XML messages.

How to fix it

Upgrade libexpat to version 2.8.2 or later wherever it is directly installed, statically linked, bundled, or inherited through another product. Because no explicit fixed-version list was supplied, treat the upstream fix as libexpat 2.8.2 and confirm downstream vendor advisories for operating systems, containers, appliances, and language/runtime distributions that may backport the patch without changing the upstream version string. Rebuild applications that statically link libexpat, refresh container base images, and restart affected services after patching. As interim mitigation, reduce or disable processing of untrusted XML where feasible, restrict XML import/upload features to trusted sources, run XML-parsing workloads with least privilege and sandboxing, and ensure exploit mitigations such as ASLR, DEP/NX, stack protection, and hardened allocators are enabled.

How to confirm the fix worked

Confirm exposure by inventorying dynamic and static use of libexpat across hosts, containers, appliances, and application builds. Check package manager data, software bills of materials, container image manifests, runtime library paths, and application dependency bundles for libexpat versions before 2.8.2. For Linux systems, validate with distribution-specific package tools and by checking linked libraries with tools such as ldd, readelf, objdump, or package query utilities. For statically linked applications, confirm through vendor advisories, build manifests, SBOMs, or binary composition analysis. After remediation, verify that the effective runtime library is libexpat 2.8.2 or a vendor-backported patched build, then restart or redeploy affected processes so they load the patched library. If practical, run regression tests that parse representative XML inputs and monitor for crashes or sanitizer findings.

Typical attack path

  1. Identify an application, service, tool, or appliance that links against libexpat before 2.8.2.
  2. Determine whether the application processes XML supplied by untrusted users, local files, automated feeds, integrations, or network-facing interfaces.
  3. Craft XML containing attribute patterns designed to trigger the integer overflow in storeAtts.
  4. Deliver the XML through the reachable input path, such as a file import, XML upload, API request, configuration parser, document processing workflow, or local command invocation.
  5. Cause the vulnerable process to parse the malicious XML.
  6. Leverage resulting memory corruption to crash the process, disclose memory, alter process state, or attempt code execution under the affected process privileges.
  7. If code execution is achieved, use the compromised process context to access data, modify application behavior, or pivot to adjacent resources according to available permissions.

How to detect it

There are no reliable public exploitation-specific indicators for this vulnerability. To assess whether exploitation may already have occurred, review crash telemetry, system logs, application logs, EDR events, and core-dump repositories for segmentation faults, heap corruption, aborts, or unexpected restarts in processes known to parse XML or link against libexpat. Correlate crashes with recent XML uploads, imports, API requests, document ingestion, feed processing, configuration loads, package parsing, or automated integration activity. On Linux and Unix-like systems, review journald, syslog, kernel logs, audit logs, service manager logs, application-specific logs, and core dump metadata for faults involving libexpat or XML parser call stacks. Where symbols or core dumps are available, look for stack traces containing storeAtts, XML_Parse, XML_ParseBuffer, or other libexpat parsing frames. For web-facing or API-facing applications, correlate HTTP access logs around crash times for requests with XML content types, unusually large or malformed XML bodies, high attribute counts, repeated parser errors, or suspicious import/upload activity. For endpoint detection, look for a parsing process spawning unexpected child processes, loading unusual libraries after a crash/restart sequence, writing unexpected executables, or making new outbound network connections; those behaviors are not specific to this CVE but may indicate successful memory-corruption exploitation.

What your security team should do

  • Prioritize inventory of internet-facing, file-processing, document-processing, API, integration, and automation systems that parse XML using libexpat.
  • Patch or upgrade all direct libexpat installations to 2.8.2 or later, and apply vendor fixes for downstream packages that backport the correction.
  • Rebuild and redeploy applications, containers, agents, and appliances that statically link or bundle vulnerable libexpat versions.
  • Treat this as moderate urgency rather than emergency based on low EPSS, no KEV listing, no ransomware association, and no known mature exploit, while still remediating promptly because library embedding can hide exposure.
  • Restrict untrusted XML parsing paths until patched, especially upload, import, message-processing, and integration workflows.
  • Enable or verify process isolation, sandboxing, least-privilege execution, crash monitoring, and memory-corruption exploit mitigations for XML-processing components.
  • Ask vendors of third-party products and appliances for confirmation of whether they embed libexpat before 2.8.2 and whether a fixed build is available.
  • Add detection coverage for unusual crashes or faults in XML-processing applications, especially following parsing of newly received or user-supplied XML content.

The record

libexpat before 2.8.2 has an integer overflow in storeAtts.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities