CVE-2026-31873

Unhead is a document head and template manager. Prior to 2.1.11, The link.href check in makeTagSafe (safe.ts) uses String.includes(), which is case-sensitive. Browsers treat URI schemes case-insensitively. DATA:text/css,... is the same as data:text/css,... to the browser, but 'DATA:...'.includes('data:') returns false. An attacker can inject arbitrary CSS for UI redressing or data exfiltration via CSS attribute selectors with background-image callbacks. This vulnerability is fixed in 2.1.11.
CVSS

No CVSS.

References
Link Resource
https://github.com/unjs/unhead/security/advisories/GHSA-5339-hvwr-7582 Exploit Mitigation Vendor Advisory
Configurations

Configuration 1 (hide)

cpe:2.3:a:unjs:unhead:*:*:*:*:*:*:*:*

History

16 Mar 2026, 17:57

Type Values Removed Values Added
Summary
  • (es) Unhead es un gestor de cabeceras de documento y plantillas. Antes de la versión 2.1.11, la comprobación de link.href en makeTagSafe (safe.ts) utiliza String.includes(), que distingue entre mayúsculas y minúsculas. Los navegadores tratan los esquemas URI sin distinguir entre mayúsculas y minúsculas. DATA:text/css,... es lo mismo que data:text/css,... para el navegador, pero 'DATA:...'.includes('data:') devuelve falso. Un atacante puede inyectar CSS arbitrario para la manipulación de la interfaz de usuario o la exfiltración de datos a través de selectores de atributos CSS con retrollamadas de background-image. Esta vulnerabilidad se corrige en la versión 2.1.11.
References () https://github.com/unjs/unhead/security/advisories/GHSA-5339-hvwr-7582 - () https://github.com/unjs/unhead/security/advisories/GHSA-5339-hvwr-7582 - Exploit, Mitigation, Vendor Advisory
First Time Unjs
Unjs unhead
CPE cpe:2.3:a:unjs:unhead:*:*:*:*:*:*:*:*

12 Mar 2026, 18:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-12 18:16

Updated : 2026-03-16 17:57


NVD link : CVE-2026-31873

Mitre link : CVE-2026-31873

CVE.ORG link : CVE-2026-31873


JSON object : View

Products Affected

unjs

  • unhead
CWE
CWE-79

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')