Skip to main content

Libxml2 CVE-2026-86140

| EUVDEUVD-2026-71833 HIGH
Stack-based Buffer Overflow (CWE-121)
2026-09-05 mitre GHSA-6wmc-mmch-49h7
7.8
CVSS 3.1 · NVD
View

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Stack buffer bounds checking
MITRE ATT&CK

1 technique across 1 tactic: Execution

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

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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

AnalysisAIv2 – Sep 15, 2026

Let me construct the JSON.

Key facts: libxml2 before 2.15.4, xmlSnprintfElements in valid.c, strcat stack buffer overflow, CWE-121. CVSS 7.8, AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. EPSS 0.14% (3rd percentile). Patch available from vendor; commit d1686f91. Fix versions: 2.15.4. Red Hat RHSA-2026:64463. No KEV, no POC mentioned.

Note the vector AV:L PR:L — local, low privileges. That's interesting because libxml2 is used in parsing. Local vector means the attacker needs to run code that triggers xmlSnprintfElements. Actually the CVSS provided says AV:L/PR:L. Hmm, that seems odd for a library parsing untrusted XML, but I should respect the input.

Wait — actually, the input CVSS vector says AV:L/AC:L/PR:L. But note: the "CRITICAL FIELD" instructions say I should not infer auth from description. The vector is provided so I can say PR:L → "authenticated"/local low-privileged.

Interesting tension: the vulnerable function is a validation error-message builder. xmlSnprintfElements builds the error message listing expected elements. It's triggered when validation fails on a deeply-nested/large content model — likely reachable via parsing untrusted XML with validation enabled (xmlValidateDocument / well-formedness? Actually valid.c is used for DTD validation). So remote attacks via parsing malicious XML with validation enabled could be possible; the AV:L in the provided vector may be conservative or wrong. I should flag that in risk_assessment — note conflicting signal.

I'll write assessed_cvss_vector myself. Should I keep AV:L? The instruction: "Choose PR honestly: if exploitation requires control over configuration files, admin access, or authentication, use PR:H or PR:L — never PR:N for operator/config-dependent flaws. Use AV:L when the vector is local/config-only."

Hmm. The vulnerability is in a library parsing XML documents. If an application validates untrusted XML with DTD validation, the buffer overflow could be triggered remotely (AV:N, PR:N, UI:N) in the context

Earlier versions of this analysis (1)
v1 Sep 05, 2026 - 04:59 CVSS 8.0

Stack-based buffer overflow in libxml2 before 2.15.4 exposes applications that perform DTD element validation to potential arbitrary code execution via the xmlSnprintfElements function in valid.c. The function performs unbounded strcat calls into a caller-supplied fixed-size stack buffer when formatting element content model descriptions, with no remaining-capacity check before appending parentheses - allowing a crafted XML document with a sufficiently complex element content model to overflow adjacent stack memory. The fix is confirmed in libxml2 2.15.4 via a specific GitHub commit; no public exploit or active exploitation has been identified 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.

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 HIGH
NVD 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.8 CRITICAL

Network-facing applications routinely pipe external XML to libxml2; stack overflow enables code execution affecting all three CIA pillars, correcting the A:L understatement.

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

Primary rating from Vendor (mitre).

CVSS VectorNVD

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

Lifecycle Timeline

4
Analysis Updated
Sep 15, 2026 - 19:57 vuln.today
v2 - CVSS changed
CVSS changed
Sep 15, 2026 - 19:52 NVD
8.0 (HIGH) 7.8 (HIGH)
Patch available
Sep 05, 2026 - 06:01 EUVD
CVE Published
Sep 05, 2026 - 04:26 cve.org
HIGH 8.0

DescriptionNVD

In libxml2 before 2.15.4, xmlSnprintfElements in valid.c has a strcat stack-based buffer overflow.

Executive ViewAI

Why It Matters

libxml2 versions before 2.15.4 contain a stack buffer overflow in DTD element validation that could allow attackers to achieve arbitrary code execution through specially crafted XML documents; no public exploit identified at time of analysis. This affects enterprises across financial services, healthcare, telecommunications, and technology sectors where XML parsing is embedded in operational systems, web services, and document processing workflows. Exploitation requires application to process untrusted XML with DTD validation enabled, creating risk to any system accepting external XML input.

Recommended Action

Within 24 hours, identify all systems and applications using libxml2 and document their current versions using package managers (rpm, apt, or equivalent) and application dependencies-prioritize web services, APIs, and document processors accepting external XML. Within 7 days, where feasible, disable DTD processing or external entity resolution in application configurations as a temporary mitigation, and begin testing libxml2 2.15.4 in development environments to validate compatibility with dependent applications. Within 30 days, deploy libxml2 2.15.4 across all systems in staged fashion (dev, staging, production), coordinate with application teams to confirm functionality post-upgrade, and validate that XML processing continues normally. Monitor vendor advisories for any regression findings from the patch.

Business Impact: High
Compensating Controls

Apply vendor patch libxml2 2.15.4 to all affected systems. Pending patching, disable DTD validation and external entity processing in XML parsers through application configuration where operationally feasible.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Social Media
1
Sightings
Data Quality
7 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 HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

A stack-based buffer overflow occurs when a program writes more data to a buffer located on the stack than it was allocated to hold.

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: Important
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