CVE-2026-5037
Linux Debian vulnerability analysis and mitigation

Overview

CVE-2026-5037 is a stack-based buffer overflow (heap-buffer-overflow/out-of-bounds read) vulnerability in the Mini-XML (mxml) library affecting versions up to and including 4.0.4. The flaw resides in the index_sort function within mxml-index.c, triggered via the mxmlIndexNew component when processing a malformed XML structure. It was discovered through fuzzing on March 12, 2026, and publicly disclosed on March 29, 2026. The vulnerability carries a CVSS v3.1 base score of 3.3 (Low) and a CVSS v4.0 base score of 4.8 (Medium) (VulDB, ENISA EUVD).

Technical details

The root cause is improper bounds checking in the quicksort/partitioning logic of the index_sort function (CWE-121: Stack-based Buffer Overflow; CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer). During node sorting, a decrementing index variable (tempr) fails to check the lower bound of zero, allowing it to reach -1 and causing an 8-byte read 8 bytes before the start of a 128-byte heap-allocated node pointer array — classified as a heap-buffer-overflow under-read. The vulnerability is triggered locally by loading a specially crafted malformed XML file and calling mxmlIndexNew(), which internally invokes index_sort. The fix, applied in commit 6e27354, adds a guard condition if (tempr > 0 && left < (tempr - 1)) before the recursive sort call at mxml-index.c:414 (GitHub Issue #350, GitHub Commit).

Impact

Successful exploitation results in a limited availability impact — specifically, an application crash or abnormal termination due to the out-of-bounds memory read. There is no confidentiality or integrity impact identified, and the scope is unchanged, meaning exploitation is confined to the affected process. The attack is restricted to local execution and requires low privileges, limiting the risk of lateral movement or sensitive data exposure (VulDB, ENISA EUVD).

Exploitability

A proof-of-concept exploit (malformed XML file 1.xml) has been publicly disclosed via the GitHub issue tracker, and the CVSS v4.0 exploit maturity is rated as PROOF_OF_CONCEPT. The vulnerability requires local access with low privileges and is not remotely exploitable, significantly limiting its attack surface. No in-the-wild exploitation, threat actor attribution, or CISA KEV catalog listing has been reported. The EPSS score is approximately 0.013% (0.000130), indicating a very low probability of exploitation in the near term (GitHub Issue #350, Feedly).

Exploitation steps

  1. Prepare the malformed XML payload: Craft or obtain a specially structured XML file (such as the publicly disclosed 1.xml) that, when parsed by mxml, produces an anomalous sequence of nodes that triggers the sorting boundary issue in index_sort.
  2. Write a harness or use an existing application: Compile a test harness or identify an application that uses mxml ≤ 4.0.4 and calls mxmlIndexNew() on attacker-controlled XML input.
  3. Load the malformed XML: Use mxmlLoadString() or mxmlLoadFile() with MXML_TYPE_OPAQUE options to parse the crafted XML payload into an mxml_node_t tree.
  4. Trigger the vulnerability: Call mxmlIndexNew(tree, NULL, NULL), which internally invokes index_sort. The partitioning logic decrements tempr to -1, causing an 8-byte out-of-bounds read before the heap-allocated node array.
  5. Observe crash: The process crashes with a heap-buffer-overflow signal (SIGABRT/SIGSEGV), as confirmed by AddressSanitizer at mxml-index.c:394 (GitHub Issue #350).

Indicators of compromise

  • Process: Application crash or abnormal termination (SIGABRT/SIGSEGV) in a process using the mxml library, particularly when processing XML input and calling mxmlIndexNew().
  • Logs: AddressSanitizer output referencing heap-buffer-overflow at mxml-index.c:394 in index_sort; crash dumps or core files from mxml-linked applications.
  • File System: Presence of malformed XML files (e.g., files with anomalous node structures) in directories processed by mxml-linked applications; fuzzer-generated crash artifacts (GitHub Issue #350).

Mitigation and workarounds

The fix is available in the mxml repository via commit 6e27354466092a1ac65601e01ce6708710bb9fa5, which adds a bounds check (tempr > 0) before the recursive sort call in index_sort. Users should upgrade to mxml version 4.0.5 (or later, once released with this fix included) as the primary remediation. As a temporary workaround, avoid passing untrusted or externally sourced XML data to mxmlIndexNew() until the patch is applied (GitHub Commit, GitHub Issue #350).

Community reactions

The vulnerability was reported by researcher "WhereisDoujo" via the mxml GitHub issue tracker on March 12, 2026, citing discovery through SynFuzz and AddressSanitizer-based fuzzing. The mxml maintainer (michaelrsweet) acknowledged and patched the issue promptly. No significant broader media coverage or notable community debate has been observed, consistent with the low severity rating (GitHub Issue #350).

Additional resources


SourceThis report was generated using AI

Related Linux Debian vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-84382HIGH7.5
  • Linux Debian logoLinux Debian
  • python-httpx2
NoNoSep 02, 2026
CVE-2026-84378MEDIUM5.9
  • Linux Debian logoLinux Debian
  • python-httpx2
NoNoSep 02, 2026
CVE-2026-84380MEDIUM5.6
  • Linux Debian logoLinux Debian
  • python-httpx2
NoNoSep 02, 2026
CVE-2026-84379MEDIUM5.3
  • Linux Debian logoLinux Debian
  • python-httpx2
NoNoSep 02, 2026
CVE-2026-82522MEDIUM5.3
  • Linux Debian logoLinux Debian
  • jpeg-xl
NoNoSep 02, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management