---
id: "CVE-2026-121443"
kind: "vulnerability"
aliases: ["CVE-2026-121443"]
title: "svg-sanitizer: truncated SVG input crashes requests with an uncaught error"
severity: "medium"
cvss: 6.9
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["composer", "package", "php", "svg-upload"]
not_affected_if: ["no-untrusted-svg", "versions-outside-range"]
published_at: "2026-11-03T15:17:36+00:00"
first_seen_at: "2026-11-03T15:22:00+00:00"
updated_at: "2026-11-03T15:23:11+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-121443", "first_seen_at": "2026-11-03T15:22:00+00:00"}]
---

# svg-sanitizer: truncated SVG input crashes requests with an uncaught error

svg-sanitizer versions from 1.1.0 before 1.1.1 throw an uncaught ValueError when given SVG input that ends inside an unclosed tag, such as a single '<'. An attacker who can submit such input makes the request fail, which is a denial of service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed version with `composer show enshrined/svg-sanitizer` (package name unknown from sources; verify it)
- Search your dependency lock file for `svg-sanitizer` at a version below `1.1.1`
- Find code paths that pass user-uploaded SVG files to the sanitizer

## Fix

- `svg-sanitizer` `1.1.1` (fixed version from the sources; earlier versions from `1.1.0` are affected)

## Timeline

- 2026-11-03T15:22:00+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-121443

## Documents

- [advisory] Vendor advisory: github.com https://github.com/darylldoyle/svg-sanitizer/security/advisories/GHSA-f7cw-vfxq-7ph2
- [advisory] Third-party advisory: www.vulncheck.com https://www.vulncheck.com/advisories/svg-sanitizer-from-1.1.0-before-1.1.1-denial-of-service-via-unclosed-tag

## From the sources

svg-sanitizer from 1.1.0 before 1.1.1 contains a denial of service vulnerability that allows remote attackers to crash requests by submitting SVG input ending inside an unclosed tag. Attackers can upload truncated input like a single '<' to trigger an uncaught ValueError from strpos() in hasElementWithTooManyAttributes() or hasInternalDtdSubset() on PHP 8, failing the request.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
