Skip to main content

Nuxt CVE-2026-56301

| EUVDEUVD-2026-38436 MEDIUM
Incorrect Default Permissions (CWE-276)
2026-06-23 VulnCheck GHSA-2x6f-57hp-86fx
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privilege shell on shared Linux host
  2. Delivery
    Read /proc/net/unix to enumerate abstract socket
  3. Exploit
    Connect to \0nuxt-vite-node socket
  4. Execution
    Send crafted module IPC request with target file path
  5. Persist
    Nuxt SSR fetchModule() returns file contents
  6. Impact
    Exfiltrate .env secrets or SSH keys

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V13 - Configuration Default permission hardening
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Three concrete conditions must all be true: (1) a developer is actively running nuxt dev - the vulnerable IPC server exists only during development, not in production builds; (2) the host is Linux with Node.js 20+ and the dev process is not running inside Docker or StackBlitz (both environments forced the safe filesystem-socket code path even in vulnerable versions); (3) the attacker holds a local, authenticated (PR:L) shell account on the same host and can read /proc/net/unix to enumerate the abstract socket name. Exploitation is fundamentally limited to shared multi-tenant Linux environments. Single-user developer laptops, macOS, Windows, per-job containerized CI, and all production deployments are immune. Remote unauthenticated exploitation is impossible - the attack surface is entirely local.

Impact

The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) accurately characterizes the threat: local access with low privileges, no special attack conditions, and high confidentiality impact. Real-world risk is context-dependent: on shared multi-tenant Linux hosts such as CI runners, university lab machines, or shared bastions, exploitation is straightforward and the payoff (developer credentials, API keys in .env) is high-value. On single-user developer laptops, in per-job containerized CI, or on macOS and Windows, the vulnerability is entirely unexploitable. The development-only scope means production infrastructure is never affected. No CISA KEV listing and no public exploit code were identified at time of analysis, suggesting exploitation has not been observed at scale. However, the low attack complexity (AC:L, AT:N) and the sensitivity of the data accessible (SSH keys, cloud credentials) make this a genuine priority for any team using shared Linux development environments. The absence of integrity and availability impact (VI:N/VA:N) limits the blast radius beyond credential theft.

Exploit ScenarioDerived

An attacker with a low-privileged shell account on a shared CI runner or lab machine reads /proc/net/unix to identify the abstract-namespace socket created by a co-resident developer's active nuxt dev process. Using a simple Node.js or Python script to connect to the socket, the attacker sends a crafted module IPC message with a moduleId targeting /home/victim/project/.env?raw, and the Nuxt SSR pipeline returns the file contents verbatim. No public exploit code has been identified at time of analysis, but the attack requires no special tooling beyond standard Unix socket programming.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 23, 2026

Nuxt's development server on Linux exposes an unprotected vite-node IPC server via a Linux abstract-namespace Unix socket, enabling unprivileged co-resident users to read arbitrary files - including .env secrets and SSH private keys - through the SSR module pipeline. Affected are Nuxt 4.0.0 through 4.4.6 and Nuxt 3.18.0 through 3.21.6 when running nuxt dev on Linux with Node.js 20+, outside Docker or StackBlitz. No public exploit has been identified at time of analysis, but exploitation demands only a local shell account and basic Unix socket programming knowledge; production builds are entirely unaffected.

RemediationAI

The definitive fix is to upgrade to nuxt@4.4.7 (for 4.x users) or nuxt@3.21.7 (for 3.x users) via npm install nuxt@4.4.7 or npm install nuxt@3.21.7. Both patch versions are confirmed by the GitHub Security Advisory GHSA-534h-c3cw-v3h9 and the referenced patch commits (https://github.com/nuxt/nuxt/commit/1f9f4767a8725104da9bee872bb8d35246f25ae5 for 4.x, https://github.com/nuxt/nuxt/commit/c293bf9503ccb3bc9559bff4a1f592f99063c9ea for 3.x). If an immediate upgrade is not feasible, run nuxt dev inside a per-job container or Docker environment - Docker already triggered the safe filesystem-socket path in vulnerable versions, so this is an effective workaround with minimal operational overhead. Using unshare -U to bind the dev process to a single-user Linux namespace also prevents other local users from reaching the socket. Applying hidepid=2 to /proc mount options limits enumeration of /proc/net/unix but is only a partial mitigation: it reduces socket discoverability but does not eliminate the underlying access-control absence if the socket is otherwise known. Do not rely on network-layer controls for this vector as it is a local Unix socket issue.

Affected VersionsENISA

nuxt 3.18.0 <3.21.7
nuxt 4.0.0 <4.4.7

Affected Packages

npm nuxt fix: 3.21.7, 4.4.7

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause maps to CWE-276 (Incorrect Default Permissions): on Linux with Node.js 20+, Nuxt's internal vite-node IPC server was bound to a Linux abstract-namespace Unix socket (e.g., \0nuxt-vite-node-<pid>-<ts>.sock). Abstract-namespace sockets have no filesystem inode and therefore carry no permission bits; any local process that can read /proc/net/unix can enumerate and connect to them without restriction. The IPC server performs no peer-credential check and no shared-secret handshake before dispatching requests. The module request type passes a moduleId field directly into Vite's SSR fetchModule(), which bypasses Vite's HTTP-layer server.fs.allow deny-list, enabling traversal to arbitrary paths such as /home/dev/project/.env?raw or /home/dev/.ssh/id_rsa?raw. Affected CPE is cpe:2.3:a:nuxt:nuxt:*:*:*:*:*:*:*:* for both the 3.x and 4.x branches. The fix (commits 1f9f4767 and c293bf95) eliminates the abstract-namespace branch entirely, replacing it with a filesystem socket under a mkdtemp-created directory chmod 0700, with a subsequent chmod 0600 on the socket file and a tight umask wrap during listen() to close the bind-to-chmod race window.

Know when Nuxt gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Local low-privilege access required to reach the dev-only abstract socket; high confidentiality impact from arbitrary file read; no integrity or availability impact.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Nuxt 4.0.0 before 4.4.7 and 3.18.0 before 3.21.7, when running the development server (nuxt dev) on Linux, binds the vite-node IPC server to an abstract-namespace Unix socket without permission restrictions, allowing local users to enumerate and connect. Unprivileged co-resident users can exploit the unprotected module request handler to read arbitrary files such as .env and SSH keys through the SSR plugin pipeline. Production builds are unaffected, as the IPC server runs only in development.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Medium
popular Vue.js meta-framework, widely used but not infrastructure-ubiquitous
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

More in Nuxt

View all
CVE-2023-3224 CRITICAL POC
9.8 Jun 13

Code Injection in GitHub repository nuxt/nuxt prior to 3.5.3. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2024-34344 HIGH POC
8.8 Aug 05

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve

CVE-2024-23657 HIGH POC
8.8 Aug 05

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve

CVE-2024-42352 HIGH POC
7.5 Aug 05

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve

CVE-2026-61793 MEDIUM POC
6.9 Sep 17

Unauthenticated server-side request forgery in Nuxt OG Image (the npm package nuxt-og-image) 6.0.2 through 6.6.x allows

CVE-2025-52662 MEDIUM POC
6.1 Nov 07

A vulnerability in Nuxt DevTools has been fixed in version **2.6.4***. Rated medium severity (CVSS 6.9), this vulnerabil

CVE-2024-34343 MEDIUM POC
6.1 Aug 05

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated medium se

CVE-2023-0878 MEDIUM POC
6.1 Feb 17

Cross-site Scripting (XSS) - Generic in GitHub repository nuxt/framework prior to 3.2.1. Rated medium severity (CVSS 6.1

CVE-2022-4413 MEDIUM POC
6.1 Dec 12

Cross-site Scripting (XSS) - Reflected in GitHub repository nuxt/framework prior to v3.0.0-rc.13. Rated medium severity

CVE-2023-2138 CRITICAL
9.8 Apr 18

Use of Hard-coded Credentials in GitHub repository nuxtlabs/github-module prior to 1.6.2. Rated critical severity (CVSS

CVE-2026-41248 CRITICAL
9.1 Apr 24

Authentication/authorization bypass in Clerk's official JavaScript SDKs (@clerk/nextjs, @clerk/nuxt, @clerk/astro, and t

CVE-2026-53721 HIGH POC
8.8 Jun 12

Route-rule middleware bypass in Nuxt 3.11.0-3.21.6 and 4.0.0-4.4.6 allows remote attackers to evade routeRules-defined p

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy