Skip to content
NewA calmer, faster ZeroHour
VulnerabilityPoC7 · 4 reads

CVE-2025-30208

Unauthenticated Arbitrary File Read in Vite Dev Server via @fs Allow-List Bypass

CVSS 3.1
7.5 high
EPSS
75%p100
Published
·
Modified
Analyze CVE-2025-30208 with Vani AIImpact, affected versions, exploitation status, mitigations and detection

Vite dev servers in versions prior to 6.2.3, 6.1.2, 6.0.12, 5.4.15, and 4.5.10 fail to enforce the `@fs` file-access allow list because trailing separators such as `?` are stripped in several places but are not accounted for in the query-string regexes. A remote, unauthenticated attacker triggers the flaw by appending `?raw??` or `?import&raw??` to a dev-server URL, bypassing the restriction and returning the contents of arbitrary files on the host if they exist. The impact is confidentiality only — arbitrary file read with no code execution or privilege escalation, consistent with the CVSS 3.1 score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N). Only projects that explicitly expose the Vite dev server to the network (via `--host` or the `server.host` config option) are affected; purely local development usage is not remotely exploitable. A public proof of concept is available in the GitHub advisory (GHSA-x574-m823-4x7w); the flaw is not yet in CISA KEV, but EPSS assigns a 75% probability of exploitation within 30 days (99th percentile), so opportunistic scanning is likely.

What to do: Upgrade Vite to 6.2.3, 6.1.2, 6.0.12, 5.4.15, or 4.5.10 depending on your release branch. If you cannot upgrade immediately, stop exposing the dev server to untrusted networks (remove `--host` / set `server.host` to localhost) or firewall the dev-server port. Audit internet-facing hosts for running Vite dev servers and check access logs for requests containing `?raw??` or `?import&raw??`, which may indicate exploitation attempts.

ProductAffected
vitejs viteAll versions prior to the fixed releases 6.2.3, 6.1.2, 6.0.12, 5.4.15, and 4.5.10 (i.e., 6.2.x < 6.2.3, 6.1.x < 6.1.2, 6.0.x < 6.0.12, 5.4.x < 5.4.15, and 4.5.x
Estimated exposure
massmillions of installs run affected Vite versions (millions of weekly npm downloads); the remotely exploitable subset — network-exposed dev servers — is… — Vite has millions of weekly npm downloads as the default dev tooling for major frontend frameworks, but only dev servers started with `--host` or `server.host` are remotely reachable, an exposure pattern common in containerized, shared,…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description · NVD

Vite, a provider of frontend development tooling, has a vulnerability in versions prior to 6.2.3, 6.1.2, 6.0.12, 5.4.15, and 4.5.10. `@fs` denies access to files outside of Vite serving allow list. Adding `?raw??` or `?import&raw??` to the URL bypasses this limitation and returns the file content if it exists. This bypass exists because trailing separators such as `?` are removed in several places, but are not accounted for in query string regexes. The contents of arbitrary files can be returned to the browser. Only apps explicitly exposing the Vite dev server to the network (using `--host` or `server.host` config option) are affected. Versions 6.2.3, 6.1.2, 6.0.12, 5.4.15, and 4.5.10 fix the issue.

Vendors
vitejs
Products
vite
Weakness
CWE-200, CWE-284
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

In the news

4 stories