Skip to main content

XML::Bare CVE-2026-13401

| EUVDEUVD-2026-44964 HIGH
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-07-16 CPANSec GHSA-8299-xh3w-xhx5
7.5
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

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

  1. Access
    Identify service parsing untrusted XML with XML::Bare
  2. Delivery
    Craft malformed attribute payload (nameless/unbalanced quote)
  3. Exploit
    Submit document to XML endpoint
  4. Execution
    parserc_parse cursor never advances
  5. Persist
    Worker thread spins at 100% CPU
  6. Impact
    Repeat to exhaust workers and deny service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK

1 technique across 1 tactic: Impact

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 parse attacker-supplied XML using XML::Bare 0.53 or earlier, and that the attacker can deliver a document containing a malformed attribute - specifically a nameless attribute (e.g. "<a ='c'>") or an attribute with unbalanced quotes (e.g. "<a b='''''''c'>"). No authentication, user interaction, or non-default library configuration is needed (PR:N/UI:N), and the malicious input is a tiny well-formed-looking fragment. The principal limiting factor is deployment: the vulnerability is only reachable where untrusted XML flows into XML::Bare's parser, so services that only parse trusted internal XML are not practically exposed.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5 HIGH) reflects a pure availability impact: no confidentiality or integrity loss, but a single crafted document can wedge a worker process. Network exploitability and low attack complexity are realistic only where an application actually feeds untrusted XML into XML::Bare - that deployment dependency, not the library flaw itself, is the true gating factor. No EPSS score, KEV listing, or SSVC decision data was provided; absence of KEV means there is no evidence of active exploitation, and no POC file was supplied, though the advisory publishes trigger strings that function as a proof of concept. This is a genuine availability risk for exposed Perl services but not a mass-exploitation or RCE-class emergency - priority should scale with whether the affected service parses external XML.

Exploit ScenarioDerived

An attacker sends a small XML document containing a nameless attribute such as "<a ='c'>" or an unbalanced-quote attribute like "<a b='''''''c'>" to a web service, API, or job processor that parses the body with XML::Bare. The parser enters parserc_parse and loops forever without advancing its cursor, pinning a CPU core and hanging that worker; repeating the request across workers exhausts the service. The advisory's published trigger strings serve as a working proof of concept, and the low-complexity, unauthenticated network vector makes delivery trivial.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 17, 2026

Denial of service in the Perl XML::Bare module (versions through 0.53) allows remote attackers to force an infinite loop by submitting malformed XML attributes to any application that parses attacker-controlled input with the library. The parserc_parse function fails to advance its cursor on certain malformed attribute forms, causing 100% CPU consumption and unresponsiveness. No public exploit identified at time of analysis, but the trivial reproducer strings published in the oss-security advisory make triggering it straightforward.

RemediationAI

Patch available per vendor advisory: apply the official fix published at https://security.metacpan.org/patches/X/XML-Bare/0.53/CVE-2026-13401-r1.patch, which corresponds to upstream pull request https://github.com/nanoscopic/perl-XML-Bare/pull/2 adding a cpos++ cursor advance so malformed input can no longer spin forever; upgrade to the fixed CPAN release once published (a released patched version number is not independently confirmed from the provided data). Until a tagged release is installed, compensating controls include wrapping XML::Bare parse calls with a timeout/alarm watchdog to abort runaway parses (trade-off: kills the worker mid-request but frees CPU), enforcing strict input size limits and pre-validating documents with a stricter parser such as libxml2 before handing them to XML::Bare (trade-off: added latency and a second dependency), and restricting or authenticating the endpoints that accept XML so untrusted callers cannot submit attribute payloads. Report was coordinated by CPANSec; see also https://vuldb.com/vuln/379565 and the oss-security thread http://www.openwall.com/lists/oss-security/2026/07/16/2.

Affected VersionsENISA

XML::Bare 0 ≤0.53

Affected Packages

euvd xml_bare no fix

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

XML::Bare is a lightweight, C-backed XML parser for Perl (CPAN distribution codechild/XML-Bare) that prioritizes speed by doing minimal validation. The defect lives in the native parser.c routine parserc_parse, which walks the input character-by-character using a position cursor (cpos). On certain malformed attribute syntaxes the parse-state cursor is never incremented, so the loop condition can never be satisfied - the classic CWE-835 'Loop with Unreachable Exit Condition (Infinite Loop)' root cause. Because the hang occurs in the tokenizing loop before any well-formedness rejection, the parser neither errors out nor returns, permanently pinning the calling thread.

Know when 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 (CPANSec) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Untrusted XML input reaches the parser remotely without auth or interaction (AV:N/AC:L/PR:N/UI:N); impact is a pure availability DoS via infinite loop, so C:N/I:N/A:H.

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

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

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

Lifecycle Timeline

3
CVSS changed
Jul 17, 2026 - 13:22 NVD
7.5 (HIGH)
CVE Published
Jul 16, 2026 - 16:14 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 16, 2026 - 16:14 cve.org
HIGH 7.5

DescriptionCVE.org

XML::Bare versions through 0.53 for Perl will hang in an infinite loop when parsing malformed attributes.

The parserc_parse function never advances the attribute-parse state cursor on certain malformed attribute forms, looping forever.

Nameless attributes such as "<a ='c'>" or unbalanced quotes "<a b='''''''c'>" can trigger this condition.

Executive ViewAI

Why It Matters

The Perl XML::Bare module (versions ≤0.53) contains a remote denial-of-service vulnerability allowing attackers to exhaust CPU resources and render services unresponsive by submitting malformed XML input. Organizations using this library to parse external or user-supplied XML face immediate risk of service outages and should prioritize patching.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
niche Perl CPAN XML parser, limited to Perl deployments
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

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.2%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
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.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Module for Development Tools 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Server for SAP Applications 15 SP7 Affected

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