# CVE-2025-30208: Vite bypasses server.fs.deny when using `?raw??` - Exploited (CISA KEV): no - Published: 2025-03-24 - CVSS: 5.3 MEDIUM (v3.1) - EPSS: 74.8% (100th percentile) - CWE: CWE-200, CWE-284 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 WAF coverage (claimed by vendors, not measured) | Vendor | Status | First rule | Days after publication | |---|---|---|---| | Cloudflare | Blocks by default | 2025-09-29 | 189 | | AWS | No public claim | — | — | | Microsoft Azure | No public claim | — | — | | Google Cloud | No public claim | — | — | | Fastly | Before feed history | — | — | | F5 | Rule published | 2025-04-28 | 35 | | Akamai | No public source | — | — | | OWASP CRS | Rule published | 2026-03-04 | 345 | ### Cloudflare - 2025-09-29 · new · rule 9e1a56e6b3bc49b187bf6e35ddc329dd · default Block > Vite - Directory Traversal - CVE:CVE-2025-30208. Previous action: Log. New action: Block. This is a New Detection Source: https://developers.cloudflare.com/changelog/post/2025-09-29-waf-release/ ### F5 - 2025-04-28 · new · rule 200009326 > Added: signature 200009326 "Vite Framework Arbitrary File Read (1)" (Information Leakage, risk High), systems: JavaScript. References: CVE-2025-30208. Source: https://docs.cloud.f5.com/docs-v2/platform/changelogs/security-details-changelog - 2025-04-28 · new · rule 200009327 > Added: signature 200009327 "Vite Framework Arbitrary File Read (2)" (Information Leakage, risk High), systems: JavaScript. References: CVE-2025-30208. Source: https://docs.cloud.f5.com/docs-v2/platform/changelogs/security-details-changelog - 2025-05-22 · new · rule 200009326 > Added: signature 200009326 "Vite Framework Arbitrary File Read (1)" (Information Leakage, risk High), systems: JavaScript. References: CVE-2025-30208. Source: https://docs.cloud.f5.com/docs-v2/platform/changelogs/security-details-changelog - 2025-05-22 · new · rule 200009327 > Added: signature 200009327 "Vite Framework Arbitrary File Read (2)" (Information Leakage, risk High), systems: JavaScript. References: CVE-2025-30208, CVE-2025-31125. Source: https://docs.cloud.f5.com/docs-v2/platform/changelogs/security-details-changelog ### OWASP CRS - 2026-03-04 · new > feat(lfi): Add detection for Vite.js path traversal (CVE-2025-30208) (https://github.com/coreruleset/coreruleset/pull/4407) Source: https://github.com/coreruleset/coreruleset/blob/main/CHANGES.md ## Our test (measured) - OWASP Core Rule Set 4.25.0, paranoia level 1, anomaly threshold 5, default CRS settings: passed (0 of 4 requests blocked), template CVE-2025-30208, 2026-11-02 - OWASP Core Rule Set 4.25.0, paranoia level 2, anomaly threshold 5, default CRS settings: passed (0 of 4 requests blocked), template CVE-2025-30208, 2026-11-02 "No public claim" means no vendor statement names this CVE; "Before feed history" means the CVE is older than the vendor feed. In both cases generic rules may still block it. HTML: https://cve.vigilbase.com/cve/CVE-2025-30208 · JSON: https://cve.vigilbase.com/api/v1/cves/CVE-2025-30208