GHSA-7c4v-fwgw-9rf7: Nuxt dev server discloses project root and workspace UUID via the Chrome DevTools workspace endpoint
When a Nuxt dev server is bound to a network-reachable interface (for example nuxt dev --host for on-device testing), the default-enabled Chrome DevTools workspace endpoint GET /.well-known/appspecific/com.chrome.devtools.json returns the absolute project root (workspace.root, i.e. rootDir) and a persistent per-project workspace UUID.
GHSA-rq7w-g337-39qq added a gate (isLocalDevRequest) intended to restrict this endpoint to local requests, but that gate is header-based: it trusts request metadata rather than the connected peer address. A request with no Sec-Fetch-Site, Origin, and Referer headers (normal for a non-browser client such as curl) is treated as local, and the Host allow-list is compared against the attacker-supplied Host header. As a result, any unauthenticated host that can reach the dev server on the LAN can retrieve the project’s absolute filesystem path and workspace UUID, for example with curl -H 'Host: localhost' http://<dev-host-lan-ip>:3000/.well-known/appspecific/com.chrome.devtools.json.
This is information disclosure only: there is no file read, file write, or code execution reachable from the endpoint. It requires the dev server to be reachable beyond loopback and experimental.chromeDevtoolsProjectSettings to be enabled (it defaults to true). Production builds are unaffected, because the endpoint is registered only as a development handler.
References
- github.com/advisories/GHSA-7c4v-fwgw-9rf7
- github.com/nuxt/nuxt/commit/00f71bb6517abff67257c8ea1fcdc777b938b68d
- github.com/nuxt/nuxt/commit/e30c611ea03240f341fe784ab1711aa6424da2fa
- github.com/nuxt/nuxt/releases/tag/v3.21.10
- github.com/nuxt/nuxt/releases/tag/v4.5.1
- github.com/nuxt/nuxt/security/advisories/GHSA-7c4v-fwgw-9rf7
Code Behaviors & Features
Detect and mitigate GHSA-7c4v-fwgw-9rf7 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →