Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') Affecting nuxt package, versions >=3.1.0 <3.21.10>=4.0.0 <4.5.1


Severity

Recommended
0.0
medium
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.21% (12th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-NUXT-18565118
  • published6 Aug 2026
  • disclosed5 Aug 2026
  • creditUnknown

Introduced: 5 Aug 2026

NewCVE-2026-71318  (opens in a new tab)
CWE-470  (opens in a new tab)

How to fix?

Upgrade nuxt to version 3.21.10, 4.5.1 or higher.

Overview

Affected versions of this package are vulnerable to Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') via the as prop in server island components that forward attacker-controlled values into dynamic component resolution. An attacker can instantiate any globally-registered Vue component or native HTML element by supplying a crafted value, potentially leading to unauthorized access or manipulation of application behavior.

Note: This is only exploitable if a server island component forwards untrusted input into a dynamic component path, either explicitly or via attribute fallthrough when the island's root is a polymorphic component.

Workaround

This vulnerability can be mitigated by declaring the props an island accepts, setting inheritAttrs: false on the component, avoiding forwarding untrusted props into dynamic component resolution, and mapping untrusted discriminators through a closed allowlist of imported component definitions instead of passing the raw prop value.

CVSS Base Scores

version 4.0
version 3.1