Skip to main content

libxml2 EUVDEUVD-2026-71830

| CVE-2026-86137 MEDIUM
Out-of-bounds Read (CWE-125)
2026-09-05 mitre GHSA-cq7w-3xjv-g47g
6.1
CVSS 3.1 · NVD
Temporal: 2.9
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Supply crafted XML/schema containing malformed regexp character group
  2. Delivery
    libxml2 invokes xmlFAParsePosCharGroup during pattern parsing
  3. Exploit
    NXT macro dereferences one byte past pattern buffer end
  4. Execution
    Out-of-bounds read causes parse error or process crash
  5. Impact
    Application availability disrupted

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the target application pass an untrusted XML Schema or XML document containing a regex pattern with a specifically malformed character group to libxml2's regexp parser (xmlFAParsePosCharGroup in xmlregexp.c). Applications that do not process XML Schema pattern facets or regexp-bearing XML are not exposed to this code path. The CVSS AC:H rating confirms that specific input structure is required to reach the out-of-bounds access - arbitrary XML documents do not trivially trigger it. No authentication is required at the libxml2 library level; however, application-layer access controls may limit who can supply input. Impact is strictly limited to availability (A:L, limited crash/parse failure) - code execution and memory disclosure are not established impacts per vendor CVSS and fix semantics.

Impact

The reporter-assigned CVSS 3.1 score of 2.9 (Low) reflects AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L. The local attack vector designation is conservative - in practice, libxml2 is overwhelmingly invoked by server-side applications processing XML content from network sources, and a crafted schema pattern could reach xmlFAParsePosCharGroup through a network-supplied document, effectively raising the practical attack surface beyond what AV:L implies. High complexity (AC:H) is well-supported: the OOB read requires a specifically malformed regexp character group. The sole CVSS impact is A:L (limited availability), consistent with a parse error or process crash rather than code execution or memory disclosure. The fix semantics - returning 0 instead of the OOB byte - reinforce C:N. No EPSS score was provided; no KEV listing and no POC are known. The 'Buffer Overflow' tag in the input metadata is a confirmed mislabel (CWE-125 is an OOB read, not a write-side overflow), and the 'Information Disclosure' tag is unsupported by the CVSS (C:N) and the patch behavior. Overall priority is low: this is a stability concern in a specific regexp parsing path, not an exploitable code-execution or data-theft vector.

Exploit ScenarioDerived

An attacker submits a crafted XML Schema or XML document containing a regular expression with a malformed character group to an application that invokes libxml2's xmlFAParsePosCharGroup during pattern-facet validation. As the parser iterates through the character group, the unguarded NXT macro reads one byte past the end of the pattern string, causing a crash or abnormal parse termination. No public proof-of-concept is known at time of analysis, and the limited A:L impact makes weaponization for purposes beyond denial of service implausible.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 05, 2026

Out-of-bounds read in libxml2's XML regular expression parser exposes all versions before 2.15.4 to a limited availability impact when processing malformed character group patterns. The NXT(index) macro in xmlregexp.c performed a direct array dereference without verifying the index stays within the parsed string's length, allowing a specially crafted regexp pattern to read one byte past the allocated buffer. The vendor-released fix in v2.15.4 adds a bounds guard returning 0 for out-of-bounds accesses; no public exploit is identified at time of analysis.

RemediationAI

Upgrade libxml2 to version 2.15.4 or later, which contains commit 76fe08d97de88bfaef2f7d5cd27f11954cc5bee2 (https://github.com/GNOME/libxml2/commit/76fe08d97de88bfaef2f7d5cd27f11954cc5bee2) introducing the NXT bounds guard. Distribution-packaged versions of libxml2 (e.g., Debian, Fedora, RHEL, Alpine) should be updated via the standard package manager once vendor backports are available. If an immediate upgrade is not feasible and the application uses libxml2 for XML Schema validation with pattern facets, consider disabling schema validation for untrusted input as a narrow compensating control - note this trades schema enforcement for reduced attack surface and is only appropriate where downstream validation exists. No separate vendor security advisory URL beyond the GNOME repository is available at time of analysis.

Affected VersionsENISA

libxml2 0 <2.15.4

Affected Packages

euvd libxml2 fix: 2.15.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libxml2 (XMLSoft, CPE cpe:2.3:a:xmlsoft:libxml2:*:*:*:*:*:*:*:*) is a widely deployed C XML/HTML parsing library. The vulnerable code lives in xmlregexp.c, which implements XML Schema regular expression parsing used for pattern-facet validation. Prior to v2.15.4, the NXT(index) macro was a bare array access - ctxt->cur[index] - with no check that cur + index remained within the bounds of the pattern string. CWE-125 (Out-of-Bounds Read) applies: the process reads one byte beyond the allocated region when xmlFAParsePosCharGroup encounters specific character-group constructs. The fix introduces a size_t len field into the xmlRegParserCtxt structure (initialized via strlen in xmlRegNewParserCtxt) and rewrites NXT to perform a signed-safe bounds comparison before dereferencing, returning 0 (a null character acting as a safe sentinel) for any access beyond the string boundary.

Know when Libxml2 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY LOW
NVD 6.1 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L
CIRCL (temporal) 2.9 LOW
vuln.today AI 3.7 LOW

XML regexp parsing inputs routinely originate from network-supplied documents, justifying AV:N over AV:L; AC:H retained for the specific character-group pattern requirement; C:N and I:N per fix semantics and vendor assignment.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE 2.9 LOW
AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Red Hat 2.9 LOW

Primary rating from Vendor (mitre).

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
Low

Lifecycle Timeline

4
Severity Changed
Sep 15, 2026 - 19:52 NVD
LOW MEDIUM
CVSS changed
Sep 15, 2026 - 19:52 NVD
2.9 (LOW) 6.1 (MEDIUM)
Patch available
Sep 05, 2026 - 06:01 EUVD
CVE Published
Sep 05, 2026 - 04:19 cve.org
LOW 2.9

DescriptionNVD

In libxml2 before 2.15.4, xmlFAParsePosCharGroup has an out-of-bounds read, aka an out-of-bounds read in the NXT macro in xmlregexp.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Ubiquitous
core XML library in virtually all Linux, macOS, and Android deployments
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Low

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2025-6021 HIGH POC
7.5 Jun 12

Stack-based buffer overflow in libxml2's xmlBuildQName function allows remote unauthenticated attackers to crash affecte

CVE-2016-4658 CRITICAL
9.8 Sep 25

xpointer.c in libxml2 before 2.9.5 (as used in Apple iOS before 10, OS X before 10.12, tvOS before 10, and watchOS befor

CVE-2016-1762 HIGH POC
8.1 Mar 24

The xmlNextChar function in libxml2 before 2.9.4 allows remote attackers to cause a denial of service (heap-based buffer

CVE-2016-1834 HIGH POC
7.8 May 20

Heap-based buffer overflow in the xmlStrncat function in libxml2 before 2.9.4, as used in Apple iOS before 9.3.2, OS X b

CVE-2016-1840 HIGH POC
7.8 May 20

Heap-based buffer overflow in the xmlFAParsePosCharGroup function in libxml2 before 2.9.4, as used in Apple iOS before 9

CVE-2024-34459 HIGH POC
7.5

Alpine Linux: libxml2 fixed in 2.12.7-r0

CVE-2022-40303 HIGH
7.5 Nov 23

An issue was discovered in libxml2 before 2.10.3. Rated high severity (CVSS 7.5), this vulnerability is remotely exploit

CVE-2017-9047 HIGH POC
7.5 May 18

A buffer overflow was discovered in libxml2 20904-GITv2.9.4-16-g0741801. Rated high severity (CVSS 7.5), this vulnerabil

CVE-2016-4447 HIGH POC
7.5 Jun 09

The xmlParseElementDecl function in parser.c in libxml2 before 2.9.4 allows context-dependent attackers to cause a denia

CVE-2017-16932 HIGH
7.5 Nov 23

parser.c in libxml2 before 2.9.5 does not prevent infinite recursion in parameter entities. Rated high severity (CVSS 7.

CVE-2016-4483 HIGH POC
7.5 Apr 11

The xmlBufAttrSerializeTxtContent function in xmlsave.c in libxml2 allows context-dependent attackers to cause a denial

CVE-2013-1969 HIGH POC
7.5 Apr 25

Multiple use-after-free vulnerabilities in libxml2 2.9.0 and possibly other versions might allow context-dependent attac

Vendor StatusVendor

SUSE

Severity: Low
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Micro 5.3 Affected
SUSE Linux Enterprise Micro 5.4 Affected
SUSE Linux Enterprise Micro 5.5 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy