Vulnerability Database

352,427

Total vulnerabilities in the database

Cross-site scripting via <NoScript> slot content in Nuxt's head components — @clerk / nuxt

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

Impact

Nuxt's globally registered &lt;NoScript&gt; component (from @unhead/vue head components, re-exported by Nuxt) wrote its default-slot content to the innerHTML of the &lt;noscript&gt; head tag, bypassing the HTML escaping that {{ }} interpolation normally applies in Vue templates.

Applications that placed untrusted, attacker-controllable data inside a &lt;NoScript&gt; slot, for example:

&lt;NoScript&gt;{{ route.query.banner }}&lt;/NoScript&gt;

would emit that value unescaped inside &lt;noscript&gt; in the server-rendered HTML. With scripting enabled, the HTML parser treats &lt;noscript&gt; content in &lt;head&gt; under the "in head noscript" insertion mode: any tag other than link, meta, noframes, or style implicitly closes &lt;noscript&gt; and is re-processed in the head. A payload such as &lt;script&gt;...&lt;/script&gt; therefore escapes the element and executes in the document context.

Sibling head components (&lt;Style&gt;, &lt;Title&gt;) were not affected because they already routed slot text through the safe textContent path.

Affected versions

All currently supported versions of nuxt that ship the &lt;NoScript&gt; global component.

Patches

Fixed in [email protected] (commit 4b054e9d) and backported to [email protected] (commit 7fea9fd6). The fix escapes &lt;NoScript&gt; slot content with escapeHtml from @vue/shared and writes it to textContent rather than innerHTML. Slot content is now rendered as text; intentional markup inside &lt;NoScript&gt; is no longer parsed as HTML.

Workarounds

Until you can upgrade:

  • Do not interpolate untrusted input into &lt;NoScript&gt; slots. Replace &lt;NoScript&gt;{{ x }}&lt;/NoScript&gt; with a static string, or sanitise / HTML-escape x at the source.
  • If you must render dynamic noscript content, write the tag yourself via useHead({ noscript: [{ textContent: escapedValue }] }) after escaping escapedValue.

Credit

Reported to Anthropic's coordinated vulnerability disclosure pipeline by Claude (Anthropic's AI assistant) and triaged by the Anthropic security team. Reference: ANT-2026-4NJYDFFM.

Independently reported by @alcls01111 via GitHub's coordinated disclosure flow (GHSA-8grp-wcq9-925q), closed as a duplicate of this advisory.

  • Published: Jun 16, 2026
  • Updated: Jun 17, 2026
  • GHSA: GHSA-m3q2-p4fw-w38m
  • Severity: Low
  • Exploit:
  • CISA KEV:

No technical information available.

Frequently Asked Questions

A security vulnerability is a weakness in software, hardware, or configuration that can be exploited to compromise confidentiality, integrity, or availability. Many vulnerabilities are tracked as CVEs (Common Vulnerabilities and Exposures), which provide a standardized identifier so teams can coordinate patching, mitigation, and risk assessment across tools and vendors.

CVSS (Common Vulnerability Scoring System) estimates technical severity, but it doesn't automatically equal business risk. Prioritize using context like internet exposure, affected asset criticality, known exploitation (proof-of-concept or in-the-wild), and whether compensating controls exist. A "Medium" CVSS on an exposed, production system can be more urgent than a "Critical" on an isolated, non-production host.

A vulnerability is the underlying weakness. An exploit is the method or code used to take advantage of it. A zero-day is a vulnerability that is unknown to the vendor or has no publicly available fix when attackers begin using it. In practice, risk increases sharply when exploitation becomes reliable or widespread.

Recurring findings usually come from incomplete Asset Discovery, inconsistent patch management, inherited images, and configuration drift. In modern environments, you also need to watch the software supply chain: dependencies, containers, build pipelines, and third-party services can reintroduce the same weakness even after you patch a single host. Unknown or unmanaged assets (often called Shadow IT) are a common reason the same issues resurface.

Use a simple, repeatable triage model: focus first on externally exposed assets, high-value systems (identity, VPN, email, production), vulnerabilities with known exploits, and issues that enable remote code execution or privilege escalation. Then enforce patch SLAs and track progress using consistent metrics so remediation is steady, not reactive.

SynScan combines attack surface monitoring and continuous security auditing to keep your inventory current, flag high-impact vulnerabilities early, and help you turn raw findings into a practical remediation plan.