Skip to main content

Mini-XML EUVDEUVD-2026-86274

| CVE-2026-88385 MEDIUM
Memory Leak (CWE-401)
2026-09-24 mitre GHSA-2rm3-qp6x-wxfh
6.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Identify service parsing untrusted XML
  2. Delivery
    Send malformed XML request
  3. Exploit
    Trigger parse error in mxml_load_data()
  4. Execution
    Orphan unlinked text nodes leak each request
  5. Persist
    Repeat to exhaust memory
  6. Impact
    Denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource cleanup, leak prevention
Exploitation Conditions

Requires an application or service that uses Mini-XML 4.0.5's mxml_load_data() to parse attacker-controlled XML. The specific trigger is XML that fails parsing after a text/value node is created but before it is linked to a parent (e.g., a value or empty element appearing where no parent exists), which routes control to the error cleanup path leaving the node orphaned. LIMITING FACTORS: impact is availability-only and cumulative - each malformed request leaks only a small allocation, so meaningful denial of service requires sustained, high-volume malformed input against a long-running process; a short-lived process that exits per-request reclaims the memory and is largely unaffected. No authentication is needed (PR:N), and exploitation does not depend on a non-default product configuration, only on the host application exposing XML parsing to untrusted input.

Impact

This is a moderate, availability-only issue (CWE-401 memory leak) rather than a top-tier emergency. The input CVSS of 6.5 (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H) indicates a remotely reachable, low-complexity, unauthenticated flaw affecting only availability, with no confidentiality or integrity impact. Corroborating signals point to low real-world urgency: EPSS is just 0.15% (4th percentile), the CVE is NOT on the CISA KEV list, and no public exploit code is referenced - only an upstream issue and the fixing commit. Exploitation status is therefore 'no public exploit identified at time of analysis.' Two internal inconsistencies should be noted: (1) the input rates A:H (total availability loss), but the description makes clear the leak is gradual and cumulative ('on each parsing attempt'), so a single request has negligible impact and exhaustion requires sustained high-volume malformed requests against a long-lived process - this argues for A:L and a lower base score. (2) The input sets UI:R, yet the description frames the attack as 'repeated attacker-controlled requests,' implying a service that parses untrusted XML directly without a user action, which argues for UI:N. These do not raise the risk; they merely reclassify it as a slow resource-exhaustion DoS. Net: low operational priority - patch during normal maintenance unless Mini-XML parses untrusted input in an internet-facing, memory-constrained, long-running service.

Exploit ScenarioDerived

An attacker repeatedly submits specially crafted malformed XML to a network-facing service that uses Mini-XML 4.0.5 to parse input via mxml_load_data(). Each parse failure orphans text nodes created by mxmlNewText() without freeing them, leaking a small amount of memory per request. Sustained over many requests, the cumulative leak exhausts process memory and causes denial of service. No public exploit code is referenced, but the trigger is trivial given the fixed upstream commit and issue #356.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 06, 2026

Memory exhaustion denial of service in Mini-XML (mxml) 4.0.5 allows unauthenticated remote attackers to degrade a long-running service that parses untrusted XML through mxml_load_data(). Malformed XML that creates a text/value node via mxmlNewText() and then fails parsing before the node is linked to a parent routes execution to the error cleanup path, which frees the parse tree but not the orphaned node; each malformed request therefore leaks a small allocation that accumulates until the process exhausts memory. No public exploit code identified at time of analysis, EPSS is low at 0.15% (4th percentile), and the issue is not in CISA KEV; upstream addressed the root cause in commit 83ef80ae3c5413b73f501edb59ee74e31ce399d0 targeting the unreleased v4.0.6.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed. Apply the upstream commit 83ef80ae3c5413b73f501edb59ee74e31ce399d0 (visible at https://github.com/michaelrsweet/mxml/commit/83ef80ae3c5413b73f501edb59ee74e31ce399d0), which backports cleanly to the mxml_load_data() guards that reject value nodes and empty elements with no parent, and upgrade to Mini-XML v4.0.6 once that release is tagged and published, monitoring https://github.com/michaelrsweet/mxml/issues/356 for the release date. If patching is not immediately possible, the highest-value compensating control is to run XML parsing in short-lived worker processes that exit per request, since a process that terminates reclaims the leaked allocation and is largely unaffected per the impact assessment; the trade-off is added process-spawn latency and architectural change. Capping per-process memory (ulimit -v, cgroup or container memory limits) plus prompt restart-on-limit converts unbounded growth into a supervised restart, with the trade-off of availability blips when the cap is hit. Rate-limiting or throttling endpoints that parse attacker-controlled XML, restricting maximum accepted request/document size, and gating XML import behind authenticated users all slow the accumulation rate, but they reduce rather than eliminate the leak because the trigger is a small malformed document. Only pass well-formed, schema-validated XML to mxml_load_data() (rejecting documents with multiple root-level values or root-level empty elements upstream) to avoid the specific error path entirely, acknowledging that pre-validation with a different parser introduces parser-differential risk. Finally, monitor memory growth and parse-error rates as detection signals, since repeated mxml_load_data() failures in a long-running process are the observable symptom of exploitation.

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

Mini-XML is a small C library for reading and writing XML, and mxml_load_data() in mxml-file.c is its central parsing routine, implemented as a hand-written state machine that allocates nodes (mxmlNewText(), element nodes) and links them into a tree as it consumes input. The defect is CWE-401 (Missing Release of Memory after Effective Lifetime): when malformed input causes a value node or an empty element to appear where no parent node exists, the node has already been allocated but not yet attached to the tree; the subsequent parse error jumps to the error/cleanup label, which walks and frees the linked tree only. The orphaned allocation is unreachable from the cleanup traversal and is never released, so every failed parse permanently leaks memory. The upstream patch adds explicit guard clauses in mxml_load_data() that detect a value node with no parent ('Value cannot be a root node') and an empty element with no parent ('<%s /> cannot be a root element'), emit _mxml_error() and branch to error before the leak can occur. The CPE data supplied with this record is a placeholder (cpe:2.3:a:n/a:n/a) and provides no reliable machine-readable product mapping; the ENISA EUVD entry EUVD-2026-86274 likewise lists 'n/a n/a' as the affected version.

Know when Mini Xml 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 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
vuln.today AI 5.3 MEDIUM

Remote unauthenticated malformed requests parsed directly (UI:N); leak is small and cumulative so a single request causes only partial, gradual availability degradation (A:L), with no C/I impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

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

Lifecycle Timeline

2
CVSS changed
Oct 06, 2026 - 18:22 NVD
6.5 (MEDIUM)
CVE Published
Sep 24, 2026 - 00:00 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

Mini-XML 4.0.5 contains a memory leak vulnerability in mxml_load_data() during malformed XML parsing. Specially crafted XML input can cause text nodes allocated by mxmlNewText() to become unlinked before a parse error transfers control to the cleanup path. These orphaned nodes are not released, resulting in a persistent memory leak on each parsing attempt. Repeated attacker-controlled requests can cause cumulative memory exhaustion and denial of service.

Threat Intelligence Overview

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Medium
lightweight XML library, used by CUPS and various embedded/vendor software
Data Quality
5 sources
Confidence: Medium

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.2%
Patch available No
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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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