Description
svg-sanitizer is a PHP SVG/XML sanitizer. Prior to 1.0.0, Resolver::processReferences() in src/ElementReference/Resolver.php builds the SVG <use> reference graph with a case-sensitive href attribute predicate before cleanHrefAttributes() normalizes mixed-case names. An attacker can provide xlink:HrEf on nested <use> elements so the graph omits those references, after which the sanitizer converts the attribute to canonical xlink:href and returns the live nesting structure without applying the useNestingLimit protection. A consuming application that renders the sanitized SVG can therefore be exposed to the resource exhaustion that control is designed to prevent. This issue is fixed in version 1.0.0.
Published: 2026-10-14
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via resource exhaustion
Action: Apply Patch
AI Analysis

Impact

The PHP SVG/XML sanitizer builds a graph of nested <use> elements by matching a case‑sensitive href predicate before the library normalizes mixed‑case names. An attacker can inject xlink:HrEf on nested <use> tags, causing the graph builder to skip those references. The sanitizer then converts the attribute to the canonical form and returns an expanded nesting structure without applying the useNestingLimit protection, allowing an attacker to subvert the resource limits intended to prevent denial of service.

Affected Systems

The vulnerability affects the svg‑sanitizer library by darylldoyle. Any installation of a version earlier than 1.0.0 is vulnerable; the official fix is included in version 1.0.0 and later.

Risk and Exploitability

The CVSS score of 6.5 indicates medium severity, and the EPSS score is below 1%. The issue is not listed in the CISA KEV catalog. An attacker must supply a crafted SVG document containing nested <use> elements with a mixed‑case xlink:HrEf attribute; the sanitizer will convert the attribute, build a nesting graph, and return a live structure that can exhaust server or client resources. The primary target is the consuming application that renders the sanitized SVG.

Generated by OpenCVE AI on October 15, 2026 at 19:06 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to svg‑sanitizer 1.0.0 or a newer release that applies the fix for mixed‑case xlink:HrEf processing.
  • If upgrading is not immediately possible, restrict or block rendering of SVG documents that contain nested <use> elements or enforce a stricter nesting depth in the consumer application.
  • Contingently, validate incoming SVG files for disallowed nested <use> patterns before passing them to the sanitizer to mitigate the risk until a patch can be applied.

Generated by OpenCVE AI on October 15, 2026 at 19:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-m9xh-6747-9r6f svg-sanitizer: Mixed-case xlink:HrEf skips the `<use>` nesting-DoS check in Resolver::processReferences
History

Sun, 18 Oct 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sat, 17 Oct 2026 06:30:00 +0000

Type Values Removed Values Added
First Time appeared Darylldoyle
Darylldoyle svg-sanitizer
Vendors & Products Darylldoyle
Darylldoyle svg-sanitizer

Wed, 14 Oct 2026 15:00:00 +0000

Type Values Removed Values Added
Description svg-sanitizer is a PHP SVG/XML sanitizer. Prior to 1.0.0, Resolver::processReferences() in src/ElementReference/Resolver.php builds the SVG <use> reference graph with a case-sensitive href attribute predicate before cleanHrefAttributes() normalizes mixed-case names. An attacker can provide xlink:HrEf on nested <use> elements so the graph omits those references, after which the sanitizer converts the attribute to canonical xlink:href and returns the live nesting structure without applying the useNestingLimit protection. A consuming application that renders the sanitized SVG can therefore be exposed to the resource exhaustion that control is designed to prevent. This issue is fixed in version 1.0.0.
Title svg-sanitizer: Mixed-case xlink:HrEf skips the `<use>` nesting-DoS check in Resolver::processReferences
Weaknesses CWE-178
CWE-400
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'}


Subscriptions

Darylldoyle Svg-sanitizer
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-18T13:36:27.865Z

Reserved: 2026-10-07T21:07:54.988Z

Link: CVE-2026-107381

cve-icon Vulnrichment

Updated: 2026-10-18T13:36:23.463Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-14T15:17:06.327

Modified: 2026-10-18T14:16:54.040

Link: CVE-2026-107381

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-17T06:15:04Z

Weaknesses
  • CWE-178

    Improper Handling of Case Sensitivity

  • CWE-400

    Uncontrolled Resource Consumption