Vite bypasses server.fs.deny when using `?raw??`
Not confirmed exploited. 3 of 8 rule sources name it; Cloudflare blocks by default. Our CRS test: not blocked.
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… More
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.
Edge coverage
Claimed by vendorsAsk Vigil
AI · answers from this pageWorkers AI (Llama 3.3). Can be wrong: check the cited source.
Severity, decoded
CVSS 3.1Exploitable over the network under specific conditions, with no privileges and user interaction, leading to full loss of confidentiality.
How the score is built
- Attack vectorAn attacker can reach it over the internet; no access to your network needed.Network
- Attack complexityThe attack only works when conditions outside the attacker's control line up.High
- Privileges requiredNo account or login is needed.None
- User interactionA user has to do something first, such as open a file or click a link.Required
- ScopeThe damage stays within the vulnerable component.Unchanged
- Confidentiality impactAn attacker can read all data the affected component holds, or the most sensitive parts of it.High
- Integrity impactData cannot be changed by the attacker.None
- Availability impactThe component keeps working normally.None
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:NPublic exploit code or a detailed write-up exists, but CISA has not seen attacks.
At least one step needs hands-on work, which slows mass attacks.
A successful attack gives limited control over the affected software or limited access to its data.
Public exploits
2 found- Exploit-DBVite 6.2.2 - Arbitrary File Read2025-04-03 · remote · multiple
- NucleiCVE-2025-30208.yamldetection template, replayed in our lab
Links are to third-party code: never run it outside an isolated lab.
Timeline
- 2025-03-24CVE publishedCVE List
- 2025-04-03Exploit published on Exploit-DBVite 6.2.2 - Arbitrary File Read
- 2025-04-28F5 ships a ruleVite Framework Arbitrary File Read (1)
- 2025-09-29Cloudflare ships a ruleVite - Directory Traversal - CVE:CVE-2025-30208
- 2026-03-04OWASP CRS ships a rulefeat(lfi): Add detection for Vite.js path traversal (CVE-2025-30208) (https://github.com/coreruleset/coreruleset/pull/4407)
- 2026-11-02Our test: OWASP Core Rule Set let it throughparanoia level 1, anomaly threshold 5, default CRS settings
- 2026-11-02Our test: OWASP Core Rule Set let it throughparanoia level 2, anomaly threshold 5, default CRS settings
Vendor statements
QuotedCloudflareWAF Managed Rules
First rule 2025-09-29, 189 days after the CVE was published.
Vite - Directory Traversal - CVE:CVE-2025-30208. Previous action: Log. New action: Block. This is a New Detection
AWSAWS WAF Managed Rules
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. AWS often describes a vulnerability without naming its CVE (for example "Log4j"). We count only entries that name the CVE, so AWS coverage is understated.
Microsoft AzureFront Door and Application Gateway WAF (DRS)
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. The rule tables name CVEs but carry no dates, so Azure is left out of every time-to-rule figure.
Google CloudCloud Armor preconfigured WAF rules
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. Google names few CVEs: the release notes start in May 2024 and the rules reference lists CVEs without dates. Its cve-canary rules are opt-in.
FastlyNext-Gen WAF virtual patches
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
F5Attack signatures (Distributed Cloud WAF)
First rule 2025-04-28, 35 days after the CVE was published.
Added: signature 200009326 "Vite Framework Arbitrary File Read (1)" (Information Leakage, risk High), systems: JavaScript. References: CVE-2025-30208.
Added: signature 200009327 "Vite Framework Arbitrary File Read (2)" (Information Leakage, risk High), systems: JavaScript. References: CVE-2025-30208.
Added: signature 200009327 "Vite Framework Arbitrary File Read (2)" (Information Leakage, risk High), systems: JavaScript. References: CVE-2025-30208, CVE-2025-31125.
AkamaiApp & API Protector (Adaptive Security Engine)
This vendor publishes no machine-readable rule changelog we can check.
OWASP CRSCore Rule Set (open source, used inside many WAFs)
First rule 2026-03-04, 345 days after the CVE was published.
feat(lfi): Add detection for Vite.js path traversal (CVE-2025-30208) (https://github.com/coreruleset/coreruleset/pull/4407)
Social
No posts seen yet on X, Bluesky, Mastodon, Hacker News or GitHub.