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
History
16 Mar 2026, 17:57
| Type | Values Removed | Values Added |
|---|---|---|
| Summary |
|
|
| References | () 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')
