Nuxt dev server arbitrary file read through client error reports
cve-program · CVE-2026-119198
PublishedNuxt is an open-source web development framework for Vue.js. From 4.6.0 until 4.6.3, a client with TCP access to an exposed Nuxt development server can send a nuxt:dev:client-error event over the HMR socket with an absolute file path at the end of its message. The development server reads that file while building the client error report and returns its contents through the error overlay, development error channel, and terminal report, bypassing Vite's server.fs allow list. The default localhost binding limits remote exposure, cross-origin browser requests are rejected, production builds and Nuxt 3 are not affected, and no browser interaction is required. This issue is fixed in version 4.6.3.
Read the publisher's advisoryeuvd · EUVD-2026-113369
PublishedNuxt is an open-source web development framework for Vue.js. From 4.6.0 until 4.6.3, a client with TCP access to an exposed Nuxt development server can send a nuxt:dev:client-error event over the HMR socket with an absolute file path at the end of its message. The development server reads that file while building the client error report and returns its contents through the error overlay, development error channel, and terminal report, bypassing Vite's server.fs allow list. The default localhost binding limits remote exposure, cross-origin browser requests are rejected, production builds and Nuxt 3 are not affected, and no browser interaction is required. This issue is fixed in version 4.6.3.
Read the publisher's advisorynvd · CVE-2026-119198
PublishedNuxt is an open-source web development framework for Vue.js. From 4.6.0 until 4.6.3, a client with TCP access to an exposed Nuxt development server can send a nuxt:dev:client-error event over the HMR socket with an absolute file path at the end of its message. The development server reads that file while building the client error report and returns its contents through the error overlay, development error channel, and terminal report, bypassing Vite's server.fs allow list. The default localhost binding limits remote exposure, cross-origin browser requests are rejected, production builds and Nuxt 3 are not affected, and no browser interaction is required. This issue is fixed in version 4.6.3.
Read the publisher's advisoryosv · GHSA-x287-wcfc-q46c
Published### Summary A client that can connect to the dev server's HMR socket can send a `nuxt:dev:client-error` event whose message ends in an absolute file path. The dev server reads that file while building the error report, and its contents are returned in the error overlay, on the dev error channel, and in the report shown in the terminal. ### Impact This affects the development server only; production builds contain none of this code. Affected versions are `4.6.0` to `4.6.2`. Reading the file requires TCP access to the dev server, so the default localhost bind limits this to local processes, which can usually read the same files directly. With the dev server exposed to a network (`nuxt dev --host`, `nuxt dev --tunnel`, or a proxy onto the dev port), anyone who can reach the port can read any file the dev process can read: SSH keys, `.env` files, cloud credentials and other files outside the project. The same path is refused by Vite's `server.fs` allow list over `/_nuxt/@fs/`; the client error channel bypasses that check. No user interaction is needed and no browser is involved: a plain WebSocket client is enough, as long as it does not send `Sec-Fetch-Site: cross-site`. A web page on another origin cannot retrieve the report: the overlay and channel endpoints reject browser requests from other origins. Nuxt 3 is not affected. ### Patches Fixed in `@nuxt/vite-builder` 4.6.3, which `nuxt` 4.6.3 depends on. A client-reported error is no longer turned into a compile report, and report building for it no longer reads from the filesystem; file content now comes only from the dev server's module graph. ### Workarounds Do not expose the dev server to untrusted networks: keep the default localhost bind, and avoid `nuxt dev --host`, `nuxt dev --tunnel` and proxies onto the dev port. If the dev port was reachable from an untrusted network while a vulnerable version was running, treat any file readable by the dev process on that machine as exposed, and rotate credentials such as SSH keys and `.env` secrets. ### Credits Thanks to [@samsulselfut](https://github.com/samsulselfut) for the report.
Read the publisher's advisoryAffected versions, risk and source history
Exploitation and risk
Source statusCISA KEV lists vulnerabilities known to be exploited. FIRST EPSS estimates the likelihood of exploitation in the next 30 days. An unavailable score does not mean zero risk.
Which CVEs have scores here?
This view includes predictions for CVE identifiers explicitly listed in public NuGet advisories. Microsoft release pages have their own prediction coverage. Check source status for the scope and latest checks.
No exploitation or prediction data is available here for these CVEs. This does not mean they are safe or unlikely to be exploited.
cve-program · CVE-2026-119198
PublishedNuxt dev server arbitrary file read through client error reports
Nuxt is an open-source web development framework for Vue.js. From 4.6.0 until 4.6.3, a client with TCP access to an exposed Nuxt development server can send a nuxt:dev:client-error event over the HMR socket with an absolute file path at the end of its message. The development server reads that file while building the client error report and returns its contents through the error overlay, development error channel, and terminal report, bypassing Vite's server.fs allow list. The default localhost binding limits remote exposure, cross-origin browser requests are rejected, production builds and Nuxt 3 are not affected, and no browser interaction is required. This issue is fixed in version 4.6.3.
- Source published
- 29 Oct 2026 20:11:35 UTC
- Source modified
- 3 Nov 2026 16:28:50 UTC
- Saved here
- 3 Nov 2026 17:57:17 UTC
- Source terms
- CVE Program Terms of Use
Original source record · Cite this exact observation · Complete original publisher JSON
Source: cve-program · CVE Program Terms of Use. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS 3.1 · 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
euvd · EUVD-2026-113369
PublishedNuxt is an open-source web development framework for Vue.js. From 4.6.0 until 4.6.3, a client with TCP access to an exposed Nuxt development server can send a nuxt:dev:client-error event over the HMR socket with an absolute file path at the…
Nuxt is an open-source web development framework for Vue.js. From 4.6.0 until 4.6.3, a client with TCP access to an exposed Nuxt development server can send a nuxt:dev:client-error event over the HMR socket with an absolute file path at the end of its message. The development server reads that file while building the client error report and returns its contents through the error overlay, development error channel, and terminal report, bypassing Vite's server.fs allow list. The default localhost binding limits remote exposure, cross-origin browser requests are rejected, production builds and Nuxt 3 are not affected, and no browser interaction is required. This issue is fixed in version 4.6.3.
Additional publisher context
EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON.
Original publisher date fields
datePublished: Oct 29, 2026, 8:11:35 PM
dateUpdated: Nov 3, 2026, 4:28:50 PM
- Source published
- Oct 29, 2026, 8:11:35 PM (timezone not stated)
- Source modified
- Nov 3, 2026, 4:28:50 PM (timezone not stated)
- Saved here
- 14 Nov 2026 07:10:52 UTC
- Source terms
- ENISA EUVD · source terms and attribution apply
Original source record · Cite this exact observation · Complete original publisher JSON
Source: euvd · ENISA EUVD · source terms and attribution apply. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
EUVD CVSS 3.1 · 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
nvd · CVE-2026-119198
PublishedNuxt is an open-source web development framework for Vue.js. From 4.6.0 until 4.6.3, a client with TCP access to an exposed Nuxt development server can send a nuxt:dev:client-error event over the HMR socket with an absolute file path at the…
Nuxt is an open-source web development framework for Vue.js. From 4.6.0 until 4.6.3, a client with TCP access to an exposed Nuxt development server can send a nuxt:dev:client-error event over the HMR socket with an absolute file path at the end of its message. The development server reads that file while building the client error report and returns its contents through the error overlay, development error channel, and terminal report, bypassing Vite's server.fs allow list. The default localhost binding limits remote exposure, cross-origin browser requests are rejected, production builds and Nuxt 3 are not affected, and no browser interaction is required. This issue is fixed in version 4.6.3.
Additional publisher context
NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON.
Source analysis status: Awaiting Analysis
Weakness classifications: CWE-73
Original publisher date fields
published: 2026-10-29T21:17:18.653
lastModified: 2026-11-03T17:18:04.280
- Source published
- 29 Oct 2026 21:17:18 UTC
- Source modified
- 3 Nov 2026 17:18:04 UTC
- Saved here
- 4 Nov 2026 00:59:02 UTC
- Source terms
- NIST NVD usage terms; underlying source attribution retained
Original source record · Cite this exact observation · Complete original publisher JSON
Source: nvd · NIST NVD usage terms; underlying source attribution retained. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS 3.1 · [email protected] · Secondary · 5.9 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
osv · GHSA-x287-wcfc-q46c
PublishedNuxt dev server arbitrary file read through client error reports
### Summary A client that can connect to the dev server's HMR socket can send a `nuxt:dev:client-error` event whose message ends in an absolute file path. The dev server reads that file while building the error report, and its contents are returned in the error overlay, on the dev error channel, and in the report shown in the terminal. ### Impact This affects the development server only; production builds contain none of this code. Affected versions are `4.6.0` to `4.6.2`. Reading the file requires TCP access to the dev server, so the default localhost bind limits this to local processes, which can usually read the same files directly. With the dev server exposed to a network (`nuxt dev --host`, `nuxt dev --tunnel`, or a proxy onto the dev port), anyone who can reach the port can read any file the dev process can read: SSH keys, `.env` files, cloud credentials and other files outside the project. The same path is refused by Vite's `server.fs` allow list over `/_nuxt/@fs/`; the client error channel bypasses that check. No user interaction is needed and no browser is involved: a plain WebSocket client is enough, as long as it does not send `Sec-Fetch-Site: cross-site`. A web page on another origin cannot retrieve the report: the overlay and channel endpoints reject browser requests from other origins. Nuxt 3 is not affected. ### Patches Fixed in `@nuxt/vite-builder` 4.6.3, which `nuxt` 4.6.3 depends on. A client-reported error is no longer turned into a compile report, and report building for it no longer reads from the filesystem; file content now comes only from the dev server's module graph. ### Workarounds Do not expose the dev server to untrusted networks: keep the default localhost bind, and avoid `nuxt dev --host`, `nuxt dev --tunnel` and proxies onto the dev port. If the dev port was reachable from an untrusted network while a vulnerable version was running, treat any file readable by the dev process on that machine as exposed, and rotate credentials such as SSH keys and `.env` secrets. ### Credits Thanks to [@samsulselfut](https://github.com/samsulselfut) for the report.
- Source published
- 30 Oct 2026 23:00:48 UTC
- Source modified
- 30 Oct 2026 23:15:04 UTC
- Saved here
- 30 Oct 2026 23:45:44 UTC
- Source terms
- GitHub Advisory Database · CC-BY-4.0
Original source record · Cite this exact observation · Complete original publisher JSON
Source: osv · GitHub Advisory Database · CC-BY-4.0. The publisher's wording is preserved. ChangeIntel groups the information and labels changes. The JSON record includes additional source fields.
CVSS_V3 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Publisher rating · MODERATE