Description
Nuxt is an open-source web development framework for Vue.js. From 3.1.0 until 3.21.10 and 4.5.1, an attacker can supply a top-level `as` prop to the /__nuxt_island/ endpoint and drive dynamic component resolution through <component :is>, resolveDynamicComponent, or h(). This issue is fixed in 3.21.10 and 4.5.1.
Published: 2026-08-05
Score: 4.8 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Nuxt, the Vue.js web framework, has a flaw that lets an attacker specify a top‑level "as" property on the /__nuxt_island/ endpoint. This value is fed directly into Vue’s dynamic component resolution via <component :is>, resolveDynamicComponent, or the h() helper, bypassing normal validation. The vulnerability is an instance of CWE‑20 (Improper Input Validation) and enables the loading of any component at the requester's discretion, which can lead to client‑side code execution or cross‑site scripting when the component performs dangerous operations.

Affected Systems

Versions of Nuxt from 3.1.0 through 3.21.10 and from the initial release up to 4.5.1 are susceptible. Upgrading to 3.21.10 or 4.5.1 (or later) removes the "as" prop handling that allows arbitrary component instantiation.

Risk and Exploitability

The CVSS score is 4.8, indicating a moderate severity. EPSS is not published and the flaw is not listed in CISA’s KEV catalog, suggesting no known widespread exploitation. The flaw can be triggered via an unauthenticated HTTP request to the /__nuxt_island/ endpoint, so any user who can reach the application can supply a malicious "as" value. Exploitation requires knowledge of component names that are exposed in the application. Once a component is instantiated, any embedded script execution path can run in the client’s browser, potentially leading to information disclosure or XSS scenarios.

Generated by OpenCVE AI on August 5, 2026 at 22:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Nuxt to version 3.21.10 or later or 4.5.1 or later.
  • Lock the Nuxt dependency to the patched version in package.json and use a deterministic install process (e.g., npm ci).
  • If an immediate upgrade is not feasible, block or restrict the /__nuxt_island/ endpoint for unauthenticated users, or remove the "as" query parameter from the request by adding a custom validation middleware.

Generated by OpenCVE AI on August 5, 2026 at 22:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-48hr-524c-v5w3 Nuxt: Unauthorized Component Instantiation via Server Island Props
History

Wed, 05 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Nuxt
Nuxt nuxt
Vendors & Products Nuxt
Nuxt nuxt

Wed, 05 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
Description Nuxt is an open-source web development framework for Vue.js. From 3.1.0 until 3.21.10 and 4.5.1, an attacker can supply a top-level `as` prop to the /__nuxt_island/ endpoint and drive dynamic component resolution through <component :is>, resolveDynamicComponent, or h(). This issue is fixed in 3.21.10 and 4.5.1.
Title Nuxt: Unauthorized Component Instantiation via Server Island Props
Weaknesses CWE-20
References
Metrics cvssV3_1

{'score': 4.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-05T21:21:30.509Z

Reserved: 2026-08-05T18:14:42.065Z

Link: CVE-2026-71318

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T23:00:05Z

Weaknesses
  • CWE-20

    Improper Input Validation