nuxt
- 4.6.2 is the latest, published 16 October 2026.
- 21 security advisories, all fixed.
- 4.x: 25 releases since 15 July 2025, 7 in the last 90 days.
Security advisories
Grouped by the version that fixes them, so one upgrade reads as one step.
Fixed in 4.5.1 · 7 advisories
- HIGHNuxt runtime payload cache discloses another user's SSR data across users and to unauthenticated clientsGHSA-wm8w-6qjm-cv43
- HIGHNuxt: Server-Side Remote Code Execution via Runtime Template Injection in Nuxt Server Island PropsGHSA-9473-5f9j-94wq
- HIGHNuxt: Unauthenticated CPU exhaustion parsing and hashing the Nuxt island endpoint body before hash validationGHSA-9pgf-384g-p7mv
4 more
- HIGHNuxt: Unauthenticated out-of-memory crash via unbounded v-for expansion in island renderingGHSA-hxcr-hm88-mpq6
- HIGHNuxt route rules silently dropped for mixed-case paths, bypassing appMiddleware auth gates (incomplete fix for CVE-2026-53721)GHSA-hxvh-4h3w-prp9
- MODERATENuxt: Unauthorized Component Instantiation via Server Island PropsGHSA-48hr-524c-v5w3
- MODERATENuxt dev server discloses project root and workspace UUID via the Chrome DevTools workspace endpointGHSA-7c4v-fwgw-9rf7
Fixed in 4.4.7 · 6 advisories
- HIGHNuxt: Route-rule middleware bypass via case-sensitivity mismatch between vue-router and the routeRules matcherGHSA-mm7m-92g8-7m47
- MODERATENuxt dev server vite-node IPC socket is world-connectable on LinuxGHSA-534h-c3cw-v3h9
- MODERATENuxt: Reflected XSS in `<NuxtLink>` via unsanitised `javascript:` or `data:` URLGHSA-934w-87qh-qr26
3 more
- MODERATENuxt: URL-handling weaknesses in `navigateTo` and `reloadNuxtApp`: SSR open redirect, client-side script execution via the `open` option, and protocol-relative bypass in `reloadNuxtApp`GHSA-c9cv-mq2m-ppp3
- LOWCross-site scripting via <NoScript> slot content in Nuxt's head componentsGHSA-m3q2-p4fw-w38m
- LOWNuxt: Dev server discloses project absolute path and persistent workspace UUID via `/.well-known/appspecific/com.chrome.devtools.json`GHSA-rq7w-g337-39qq
Fixed in 4.4.6 · 3 advisories
- MODERATENuxt: Reflected XSS in `navigateTo()` external redirectGHSA-fx6j-w5w5-h468
- MODERATENuxt's route middleware is not enforced when rendering `.server.vue` pages via `/__nuxt_island/page_*`GHSA-hg3f-28rg-4jxj
- LOWNuxt: `__nuxt_island` endpoint does not bind responses to request props, enabling shared-cache poisoningGHSA-g8wj-3cr3-6w7v
Fixed in 4.1.0 · 1 advisory
- LOWNuxt has Client-Side Path Traversal in Nuxt Island Payload RevivalGHSA-p6jq-8vc4-79f6
3 older fixes
Fixed in 3.16.0 · 1 advisory
- HIGHNuxt allows DOS via cache poisoning with payload rendering responseGHSA-jvhm-gjrh-3h93
Fixed in 3.12.4 · 2 advisories
- CRITICALNuxt vulnerable to remote code execution via the browser when running the test locallyGHSA-v784-fjjh-f8r4
- MODERATEnuxt vulnerable to Cross-site Scripting in navigateTo if used after SSRGHSA-vf6r-87q4-2vjf
Fixed in 3.4.3 · 1 advisory
- CRITICALnuxt Code Injection vulnerabilityGHSA-gc34-5v43-h7v8
Releases in the last 90 days
Feed of releases and advisoriesEvery stable release, newest first. Notes are quoted as the maintainers published them.
4.6.2
16 October 2026Compare changes
v4.6.2 is the next patch release.
Changelog
Fixes
nitro: apply
useHeadSaferules to server island headnitro-server: read router params from the path h3 matched
nitro: match server route rules case-insensitively unless routing is sensitive
nuxt: resolve rooted paths through the URL parser
nuxt: resolve empty route types in shared context
nitro: preserve server tsconfig with relocated build dir
nuxt: fix scroll offset for IDs starting with numbers
kit: do not exclude module directories with a dot in their name from app tsconfig
nuxt: detect vapor slots with
rawVaporSlotKeyfrom vuenuxt: keep middleware layout when restoring deferred prerendered route
schema: provide default value for
experimental.typescriptPluginvite: only replay compile error overlays to newly loaded pages
nuxt: re-export
AnyFetchPathfor emitted server route typesvite: warm up the dev ssr entry from a nitro plugin
nitro: avoid unused h3 imports in nuxt/server runtime
vite-server: scope asset url helpers to the build
nuxt: resolve
nuxt/appto the app's runtimekit: lowercase filename-derived handler method on nitro v2
nuxt,nitro: normalise string/array
appMiddlewarenitro: pass response headers to
render:responselistenersvite: resolve inlined
vueto its bundler build in devnuxt: don't start a page transition with no page to leave
nuxt: preserve error state on aborted or cancelled navigation
vite,nitro: link null-byte virtual css through
/@id/in devkit: resolve module dependencies from the declaring module
nitro: only disable h3 + nitro presets when
nitroAutoImportsis off
4.6.1
9 October 2026Compare changes
v4.6.1 is the next patch release.
Changelog
Performance
nitro: build the portable event's web view on first access
Fixes
vite: match vite 8.1+ optimizer messages for deps hint
nuxt: accept any
baseURLwhen fetch response type is namednitro: resolve
nitropack/typesdeclarations under nodenextnuxt: allow
falseinsetPageLayouttypesnuxt: align
Serializeobject types with JSONvite: don't abort dep scan on virtual imports in installed packages
nuxt: update
publishConfigconfig export extensionkit: install the package a missing subpath belongs to
vite-server: use the configured outDir as the public directory for non-ssr environment
kit,nitro: match dev handler paths on both nitro majors
nuxt: preserve onServerPrefetch for useId hydration
vite-server: include the request in dev error reports
nitro: register each dev server handler once
nitro: pass
RequestEventtonuxtdev server handlersnuxt: type the global
$fetchwith nuxt'sTypedFetchvite-server: work with deploy target plugins in dev
schema: ignore
.wranglerdirectoryvite-server: pass the path to the error page render
nuxt,vite: disable dev error broadcast if
BroadcastChannelthrowskit: align semantic version regexp with nightly version format
nuxt: export types reachable from async data composables
vite: detect enclosing string delimiter in inline style urls
schema: type the
nuxtdev server handler variantnitro: inline nuxt runtime when resolved to windows paths
4.6.0
5 October 2026Alongside the release of Nuxt v4.6, today also brings a new major release of the Nuxt CLI: @nuxt/cli v4. It ships as a dependency of nuxt, so you'll get it automatically when you upgrade.
Section of a shared release note
Nuxt CLI v4
Alongside the release of Nuxt v4.6, today also brings a new major release of the Nuxt CLI:
@nuxt/cliv4. It ships as a dependency ofnuxt, so you'll get it automatically when you upgrade.Most of what's new is in
nuxt dev:an interactive terminal UI, showing URLs, startup progress and keyboard shortcuts, with panels to dive into error logs, routes, network requests and more
the dev server gives you more info, such as why it reloaded or restarted, which
nuxt.configkeys changed, where the time went during a slow start or build, and how long each module took to set upa CLI-level error channel rendered with
my-bad(see below), powering things like automatically reloading when a syntax error innuxt.config.tsis fixeda lock file in
.nuxt/, which lets a secondnuxt dev(say, one started by an agent) take over or defer to the one you started, and powers newnuxt curlandnuxt taskcommands that talk to the running server
There's also a new
nuxt docs "<query>"search, andnuxt preview --takeovercan replace a running preview server. And in generalnuxt/cliis a lot smaller and starts a lot faster:v3.37 v4.0 @nuxt/cliinstall size13.1 MB 3.5 MB -73% @nuxt/clidependencies70 31 -56% nuxt dev: first paint330 ms 50 ms 6.6x faster nuxt dev: port bound338 ms 104 ms 3.2x faster nuxt dev: memory at rest (Linux)630 MB 440 MB -30% Although this is a major version, none of the changes should be breaking for Nuxt v4 users: we require Node.js v22.21+, v24.11+ or v26+, we drop
nuxt initand only supportnpm create nuxt@latest, and Nuxt 2 and@nuxt/bridgeare no longer supported.👉 Check out the full Nuxt CLI v4 release notes for everything that's changed.
3.21.11
5 August 2026Compare changes
3.21.11 is a patch release.
[!IMPORTANT] Nuxt v3 is now end-of-life. Please upgrade to Nuxt v4, or you may wish to check out our partner HeroDevs who provide never-ending support for end-of-life releases
Changelog
Fixes
nuxt: Serialize island payloads for components with underscores in keys
nitro: Dedupe island renders when prerendering
nitro: Reject non-object island props
nuxt: Re-check for preview mode after prerendered page hydration
nuxt: Settle asyncData status when bailing
kit: Clone resolved config with klona rather than klona/full
nuxt: Use client-side navigation for links inside islands
nuxt: Match route rules against decoded paths
4.5.2
5 August 2026Compare changes
4.5.2 is the next patch release.
Changelog
Performance
nuxt,kit: Skip rewriting unchanged generated files
kit,nuxt: Use lazy imports to improve parsing speed
vite: Skip html entry probes in bare-import resolver
nuxt: Reuse app and component scans for unchanged structures
Fixes
vite: Resolve client manifest path from resolved config
nuxt: Use client-side navigation for links inside islands
nuxt: Generate types for route params defined with definePageMeta
nuxt: Serialize island payloads for components with underscores in keys
nitro: Dedupe island renders when prerendering
nuxt: Drop prefetch hints for never-hydrated chunks
vite: Use same asset filenames for worker builds
nitro: Reject non-object island props
nuxt: Support options api in
v-forislands transformnuxt: Improve page meta extraction + performance
nuxt: Set build outputs when restoring vue cache
kit: Honour nested
applyandapplyToEnvironmentin vite wrappernuxt: Re-check for preview mode after prerendered page hydration
kit,nuxt,vite: Handle missed chokidar watch events
nuxt: Settle asyncData status when bailing
kit: Clone resolved config with klona rather than klona/full
kit: Honour nested plugins'
enforcein vite wrappernuxt: Collect build cache once build outputs are final
vite: Resolve vite env api sourcemaps in
vite-nodenuxt: Don't warn about missing
<NuxtPage>on nav + with slotkit: Prepend vite environment wrapper plugin when
prependis set
3.21.10
27 July 2026It fixes server-side RCE and unauthorized component instantiation via server island props, a route rule authorization bypass, server component DoS, and dev server path disclosure. Refreshing your lockfile also pulls in @nuxt/devtools@3.3.1, which fixes a separate critical development-only RCE.
⚠️ This is a security release. We recommend upgrading as soon as possible with
npx nuxt upgrade --dedupe.It fixes server-side RCE and unauthorized component instantiation via server island props, a route rule authorization bypass, server component DoS, and dev server path disclosure. Refreshing your lockfile also pulls in
@nuxt/devtools@3.3.1, which fixes a separate critical development-only RCE.If you already upgraded for the earlier route rule advisory (CVE-2026-53721), you still need this release: one of the fixes addresses a regression introduced by that fix.
Full details: Nuxt Security Patch Releases and GitHub Security Advisories.
Changelog
Fixes
nuxt: Clear hide/reset timeouts in set()
nuxt: Preserve trailing slash in NuxtLink href when unset
vite: Resolve SSR inlined CSS module class name mismatch
nuxt: Sync layout meta during middleware on SSR
nuxt: Update client URL to match SSR on fatal middleware error
nuxt: Watch external component directories in development
nuxt: Don't cross-pollute useAsyncData cache on reactive key change
nuxt: Return global route for
useRoutein detached effect scopenuxt: Ignore custom
nameorpathwhen reusing an existing page inpages:extendnuxt: Preserve explicit
useFetchmethod inferencenuxt: Correct default export detection in plugin metadata
nuxt: Reload real page module on HMR of JSX render-function pages
vite: Ensure server sourcemap-preserver plugin actually runs
nuxt: Resolve
@unhead/vue/*from nuxt's dependency treenuxt: Don't apply scroll behaviour after a subsequent nav
vite: Preserve css suffix when extracting ssr inline styles
nuxt: Don't exclude client entry module from style extraction
kit: Avoid mutating layer configs when resolving options
nuxt: Generate layout types even when pages module is disabled
nitro: Skip resource hints for stylesheets already rendered as blocking links
nuxt: Revalidate cached route payloads instead of using
force-cachenuxt: Preserve query params in cached payload extraction
rspack,webpack: Resolve loaders and runtime deps from nuxt dirs
4.5.1
27 July 2026It fixes server-side RCE and unauthorized component instantiation via server island props, a route rule authorization bypass, server component DoS, cross-user payload disclosure on cached pages, and dev server path disclosure. Refreshing your lockfile also pulls in @nuxt/devtools@3.3.1, which fixes a separate critical development-only RCE.
⚠️ This is a security release. We recommend upgrading as soon as possible with
npx nuxt upgrade --dedupe.It fixes server-side RCE and unauthorized component instantiation via server island props, a route rule authorization bypass, server component DoS, cross-user payload disclosure on cached pages, and dev server path disclosure. Refreshing your lockfile also pulls in
@nuxt/devtools@3.3.1, which fixes a separate critical development-only RCE.If you already upgraded for the earlier route rule advisory (CVE-2026-53721), you still need this release: one of the fixes addresses a regression introduced by that fix.
If you use the
cache,swrorisrroute rules, purge any CDN or edge cache after upgrading; a leaked_payload.jsonmay already be cached upstream.Full details: Nuxt Security Patch Releases and GitHub Security Advisories.
Changelog
Performance
nitro: Replace island teleports in a single html pass
nuxt: Add
vue.optionsApiand disable it for v5+nuxt: Without pages, skip client plugins that require routing
nuxt: Skip payload revival plugin when
ssr: false
Fixes
nitro: Read rspack dev output fs lazily for server entry
rspack,webpack: Resolve loaders and runtime deps from nuxt dirs
nuxt: Return global route for
useRoutein detached effect scopenuxt: Ignore custom
nameorpathwhen reusing an existing page inpages:extendnuxt: Render client components in nested server components
nuxt: Preserve explicit
useFetchmethod inferencenuxt: Revalidate cached route payloads instead of using
force-cachenuxt: Correct default export detection in plugin metadata
nuxt: Clear hide/reset timeouts in set()
kit,nuxt,rspack,schema,webpack: Add
.mtsfile extension in resolvernuxt: Preserve trailing slash in NuxtLink href when unset
nuxt: Don't cross-pollute useAsyncData cache on reactive key change
nuxt: Filter plugin dependencies by build target
nuxt: Reload real page module on HMR of JSX render-function pages
nuxt: Resolve
@unhead/vue/*from nuxt's dependency treekit: Surface module load errors instead of masking as missing
nuxt: Type auto-imported
$fetchwith nitro's$Fetch
Major versions
- 4.xsince 15 July 2025 · latest 4.6.2 · 25 releases
- 3.xsince 16 November 2022 · latest 3.21.11 · 92 releases
- 2.xsince 21 September 2018 · latest 2.18.1 · 70 releases
- 1.xsince 8 January 2018 · latest 1.4.5 · 12 releases
- 0.xsince 26 October 2016 · latest 0.10.7 · 81 releases
Quality and security signals
What npm and deps.dev say about the latest release. Signals, not a verdict.
Reading npm and deps.dev…
Registry facts last checked 20 October 2026. Releases and advisories last read 20 October 2026.
Know when your own dependencies move
Inlinr tracks your coding time automatically. Switch dependency tracking on for a project and it reads that repository's manifest to show what is behind and what has been deprecated — off by default, one project at a time.