Description
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.
Published: 2026-08-10
Score: 6.2 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises when libexpat processes Unicode strings; low surrogate values are incorrectly treated as high surrogates during conversion in the *_toUtf16 functions. This misclassification triggers an out-of-bounds read and can result in an infinite loop, consuming CPU resources and exhausting service availability. The flaw is classified as CWE-125: Out‑of‑Bounds Read, and it mainly threatens system availability rather than confidentiality or integrity.

Affected Systems

All installations of the libexpat library prior to version 2.8.3 are affected. The issue is present in the core libexpat project and impacts any application or service that relies on this library for XML parsing or Unicode conversion, regardless of platform.

Risk and Exploitability

With a CVSS score of 6.2, the vulnerability presents a moderate severity. The EPSS score is not available, and the flaw is not listed in the CISA KEV catalog, suggesting that exploitation may be uncommon but not impossible. Attackers need to supply XML data containing low surrogate code points; such data could be delivered locally or over a network if the target application accepts untrusted XML. Once the malformed data is processed, the library enters an infinite loop, potentially exhausting CPU and causing a denial of service. No remote code execution or data exfiltration is possible, but the resulting service disruption can be critical in production environments.

Generated by OpenCVE AI on August 10, 2026 at 04:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade libexpat to version 2.8.3 or later
  • Apply the upstream patch submitted in GitHub pull request #1296 to fix the Unicode handling bug
  • Validate or sanitize XML input to remove or reject low surrogate code points before passing data to libexpat

Generated by OpenCVE AI on August 10, 2026 at 04:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 03:45:00 +0000

Type Values Removed Values Added
Description 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.
First Time appeared Libexpat Project
Libexpat Project libexpat
Weaknesses CWE-125
CPEs cpe:2.3:a:libexpat_project:libexpat:*:*:*:*:*:*:*:*
Vendors & Products Libexpat Project
Libexpat Project libexpat
References
Metrics cvssV3_1

{'score': 6.2, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

Libexpat Project Libexpat
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-08-10T03:28:04.274Z

Reserved: 2026-08-10T03:28:03.899Z

Link: CVE-2026-72522

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T04:30:11Z

Weaknesses