Nuxt.js Unauthenticated WebSocket RPC Call Leading to Remote Code Execution
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Security bypass, Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-306 and CWE-94.
Summary
Nuxt is an open-source web development framework for Vue.js. Prior to 3.3.1, Nuxt DevTools (development mode only) exposes a bidirectional RPC channel over the Vite HMR WebSocket via the nuxt:devtools:rpc plugin. On affected versions the channel has no authentication: any client that can reach the Vite HMR endpoint (ws://<host>:<port>/, subprotocol vite-hmr) can call RPC methods, with no token, handshake, or origin check before the channel is established. The updateOptions(), clearOptions(), and openInEditor() methods do not enforce the ensureDevAuthToken check that the other mutating methods use. openInEditor() reads the persisted behavior.openInEditor value and passes it to the launch-editor package, which spawns it as a child process. That value is settable through the equally unauthenticated updateOptions(). An attacker who can reach the HMR port can therefore chain updateOptions('behavior', { openInEditor: '<command>' }) then openInEditor('<any-existing-file>') to execute an arbitrary program on the developer's machine. This issue is fixed in 3.3.1.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| nuxt | devtools | before 3.3.1 | 3.3.1 | Patch available | CNA |
| — | @nuxt/devtools (npm) | before 3.3.1 | 3.3.1 | Patch available | GHSA-279x-mwfv-vcqv |
- devtools Vendornuxt Affected before 3.3.1 Fixed in 3.3.1 Patch available CNA
- @nuxt/devtools (npm) Vendor— Affected before 3.3.1 Fixed in 3.3.1 Patch available GHSA-279x-mwfv-vcqv
Remediation
- Fix · CNA devtools (nuxt) Fixed in 3.3.1
- Fix · GHSA-279x-mwfv-vcqv @nuxt/devtools (npm) Fixed in 3.3.1 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-71319
- 2026-10-03 Alias added: GHSA-279x-mwfv-vcqv
- 2026-10-28 EPSS moved to the 50th–90th percentile
References
More nuxt vulnerabilities
- TI-2023-03020 Code Injection in nuxt/nuxt CVSS 3.1CRITICAL 9.8
- TI-2024-28339 Server-Side Request Forgery (SSRF) in nuxt-icon CVSS 3.1HIGH 8.6
- TI-2024-22685 Remote code execution via the browser when running the test locally in nuxt CVSS 3.1HIGH 8.8
- TI-2026-26689 Nuxt OG Image vulnerable to DoS via image generation CVSS 4.0MEDIUM 6.9
- TI-2022-04037 Cross-site Scripting (XSS) - DOM in nuxt/framework CVSS 3.1MEDIUM 6.1
- TI-2022-04036 Cross-site Scripting (XSS) - Reflected in nuxt/framework CVSS 3.1MEDIUM 6.1
Sources
- CVE-2026-71319 · CVE Program
- CVE-2026-71319 · NVD
- FIRST EPSS
- GHSA-279x-mwfv-vcqv · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences