| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-g5xx-pwrp-g3fv | Unhead has XSS bypass in `useHeadSafe` via attribute name injection and case-sensitive protocol check |
Solution
No solution given by the vendor.
Workaround
No workaround given by the vendor.
Fri, 13 Mar 2026 17:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Fri, 13 Mar 2026 10:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Unjs
Unjs unhead |
|
| Vendors & Products |
Unjs
Unjs unhead |
Thu, 12 Mar 2026 17:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Unhead is a document head and template manager. Prior to 2.1.11, useHeadSafe() can be bypassed to inject arbitrary HTML attributes, including event handlers, into SSR-rendered <head> tags. This is the composable that Nuxt docs recommend for safely handling user-generated content. The acceptDataAttrs function (safe.ts, line 16-20) allows any property key starting with data- through to the final HTML. It only checks the prefix, not whether the key contains spaces or other characters that break HTML attribute parsing. This vulnerability is fixed in 2.1.11. | |
| Title | Unhead has a XSS bypass in `useHeadSafe` via attribute name injection and case-sensitive protocol check | |
| Weaknesses | CWE-79 | |
| References |
| |
| Metrics |
cvssV4_0
|
Projects
Sign in to view the affected projects.
Status: PUBLISHED
Assigner: GitHub_M
Published:
Updated: 2026-03-13T16:26:51.670Z
Reserved: 2026-03-09T19:02:25.012Z
Link: CVE-2026-31860
Updated: 2026-03-13T16:26:40.074Z
Status : Awaiting Analysis
Published: 2026-03-12T18:16:24.227
Modified: 2026-03-13T19:54:36.657
Link: CVE-2026-31860
No data.
OpenCVE Enrichment
Updated: 2026-03-13T09:50:53Z
Github GHSA