Description
When no appSecret is configured (via NUXT_APP_SECRET, NITRO_APP_SECRET or runtimeConfig.appSecret), nuxt dev generates a development secret and stores it in <buildDir>/app-secret (by default .nuxt/app-secret). The build directory is inside the directories that Nuxt passes to Vite’s server.fs.allow, so the file can be fetched from the dev server:
Anyone who can read it can compute every secret derived from it with deriveSecret(), including the default password used by useSession, and so can forge session cookies accepted by that dev server.
Recommendation
Update the @nuxt/vite-builder package to the latest compatible version. Followings are version details:
- Affected version(s): >= 4.6.0, < 4.6.3
- Patched version(s): 4.6.3
References
Could your website be exposed too?
SmartScanner can check your website for Nuxt dev server exposes generated appSecret through Vite file serving and gives you actionable findings to investigate.
Start a free scanRelated Issues
- Nuxt dev server exposes private runtime config through the Nitro dev bundle - CVE-2026-119199
- Nuxt dev server arbitrary file read through client error reports - CVE-2026-119198
- Opening a malicious website while running a Nuxt dev server could allow read-only access to code - @nuxt/vite-builder - CVE-2025-24360
- Nuxt: Dev server exposes built source over LAN to malicious sites (incomplete fix for GHSA-4gf7-ff8x-hq99) - @nuxt/webpack-builder - CVE-2026-45670


