Every CVE Search/ Get API key

CVE-2025-30208

Vite bypasses server.fs.deny when using `?raw??`

5.3 MediumPublic exploitFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

74.8%Up 74.7 points since Mar 25, 2025
90%50%10%1%

What each source reports

CVE List Score used 5.3

Vite bypasses server.fs.deny when using `?raw??`

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.

Record
CVE-2025-30208
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-200, CWE-284
Updated
2026-11-02
EUVDEUVD-2025-8079 5.3

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.

Record
EUVD-2025-8079
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-x574-m823-4x7w 5.3

Vite bypasses server.fs.deny when using ?raw??

Summary

The contents of arbitrary files can be returned to the browser.

Impact

Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected.

Details

@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.

PoC

$ npm create vite@latest
$ cd vite-project/
$ npm install
$ npm run dev

$ echo "top secret content" > /tmp/secret.txt

# expected behaviour
$ curl "http://localhost:5173/@fs/tmp/secret.txt"

    <body>
      <h1>403 Restricted</h1>
      <p>The request url &quot;/tmp/secret.txt&quot; is outside of Vite serving allow list.

# security bypassed
$ curl "http://localhost:5173/@fs/tmp/secret.txt?import&raw??"
export default "top secret content\n"
//# sourceMappingURL=data:application/json;base64,eyJ2...
Record
GHSA-x574-m823-4x7w
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-200, CWE-284
Updated
2026-11-02
NVD 5.3

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.

Record
CVE-2025-30208
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-200, CWE-284
Updated
2026-11-02
OSV 5.3

Vite bypasses server.fs.deny when using `?raw??`

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.

Record
CVE-2025-30208
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-200, CWE-284
Updated
2026-11-04
OSVGHSA-x574-m823-4x7w 5.3

Vite bypasses server.fs.deny when using ?raw??

Summary

The contents of arbitrary files can be returned to the browser.

Impact

Only apps explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected.

Details

@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.

PoC

$ npm create vite@latest
$ cd vite-project/
$ npm install
$ npm run dev

$ echo "top secret content" > /tmp/secret.txt

# expected behaviour
$ curl "http://localhost:5173/@fs/tmp/secret.txt"

    <body>
      <h1>403 Restricted</h1>
      <p>The request url &quot;/tmp/secret.txt&quot; is outside of Vite serving allow list.

# security bypassed
$ curl "http://localhost:5173/@fs/tmp/secret.txt?import&raw??"
export default "top secret content\n"
//# sourceMappingURL=data:application/json;base64,eyJ2...
Record
GHSA-x574-m823-4x7w
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-200, CWE-284
Updated
2026-11-02
Show 11 moreShow less
OSVCLSA-2026-1775089661 No score

TuxCare security update for 2 packages (5 CVEs)

TuxCare rebuilt 2 packages to address 5 CVEs. Fixed in 5.4.14-tuxcare.1.

Record
CLSA-2026-1775089661
Updated
2026-11-02
OSVCLSA-2026-1775176118 No score

TuxCare security update for vite (6 CVEs)

TuxCare rebuilt vite to address 6 CVEs. Fixed in 4.5.5-tuxcare.1.

Record
CLSA-2026-1775176118
Updated
2026-11-02
OSVCLSA-2026-1777509608 No score

TuxCare security update for vite (11 CVEs)

TuxCare rebuilt vite to address 11 CVEs. Fixed in 2.9.18-tuxcare.1.

Record
CLSA-2026-1777509608
Updated
2026-11-02
OSVCLSA-2026-1777509610 No score

TuxCare security update for vite (6 CVEs)

TuxCare rebuilt vite to address 6 CVEs. Fixed in 3.2.11-tuxcare.1.

Record
CLSA-2026-1777509610
Updated
2026-11-02
OSVCLSA-2026-1789031855 No score

TuxCare security update for vite (16 CVEs)

TuxCare rebuilt vite to address 16 CVEs. Fixed in 4.1.5-tuxcare.1.

Record
CLSA-2026-1789031855
Updated
2026-11-02
OSVCLSA-2026-1790801785 No score

TuxCare security update for vite (3 CVEs)

TuxCare rebuilt vite to address 3 CVEs. Fixed in 5.0.12-tuxcare.1.

Record
CLSA-2026-1790801785
Updated
2026-11-02
OSVCLSA-2026-1790803771 No score

TuxCare security update for vite (3 CVEs)

TuxCare rebuilt vite to address 3 CVEs. Fixed in 4.5.0-tuxcare.1.

Record
CLSA-2026-1790803771
Updated
2026-11-02
OSVCLSA-2026-1790804788 No score

TuxCare security update for vite (2 CVEs)

TuxCare rebuilt vite to address 2 CVEs. Fixed in 5.4.10-tuxcare.1.

Record
CLSA-2026-1790804788
Updated
2026-11-02
OSVCLSA-2026-1792225950 No score

TuxCare security update for @vitejs/plugin-react (11 CVEs)

TuxCare rebuilt @vitejs/plugin-react to address 11 CVEs. Fixed in 2.9.18-tuxcare.1.

Record
CLSA-2026-1792225950
Updated
2026-11-02
OSVCLSA-2026-1792225952 No score

TuxCare security update for @vitejs/plugin-react (6 CVEs)

TuxCare rebuilt @vitejs/plugin-react to address 6 CVEs. Fixed in 3.2.11-tuxcare.1.

Record
CLSA-2026-1792225952
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2025-30208 No score

CVE-2025-30208 in @rootio/vite - Patched by Root

Root has patched CVE-2025-30208 in the @rootio/vite package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2025-30208
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
vite
npm
6.2.0 up to 6.2.3
6.2.3
vite
npm
6.1.0 up to 6.1.2
6.1.2
vite
npm
6.0.0 up to 6.0.12
6.0.12
vite
npm
5.0.0 up to 5.4.15
5.4.15
vite
npm
before 4.5.10
4.5.10
@vitejs/plugin-legacy
TuxCare:npm
From an advisory covering 4 CVEs
5.4.14-tuxcare.0 up to 5.4.14-tuxcare.1, plus listed versions
5.4.14
5.4.14-tuxcare.1
vite
TuxCare:npm
From an advisory covering 4 CVEs
5.4.14-tuxcare.0 up to 5.4.14-tuxcare.1, plus listed versions
5.4.14
5.4.14-tuxcare.1
vite
TuxCare:npm
From an advisory covering 6 CVEs
4.5.5-tuxcare.0 up to 4.5.5-tuxcare.1, plus listed versions
4.5.5
4.5.5-tuxcare.1
vite
TuxCare:npm
From an advisory covering 11 CVEs
2.9.18-tuxcare.0 up to 2.9.18-tuxcare.1, plus listed versions
2.9.18
2.9.18-tuxcare.1
vite
TuxCare:npm
From an advisory covering 6 CVEs
3.2.11-tuxcare.0 up to 3.2.11-tuxcare.1, plus listed versions
3.2.11
3.2.11-tuxcare.1
Show 8 moreShow less
Affected packages
PackageAffectedFixed
vite
TuxCare:npm
From an advisory covering 16 CVEs
4.1.5-tuxcare.0 up to 4.1.5-tuxcare.1, plus listed versions
4.1.5
4.1.5-tuxcare.1
vite
TuxCare:npm
From an advisory covering 3 CVEs
5.0.12-tuxcare.0 up to 5.0.12-tuxcare.1, plus listed versions
5.0.12
5.0.12-tuxcare.1
vite
TuxCare:npm
From an advisory covering 3 CVEs
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.1, plus listed versions
4.5.0
4.5.0-tuxcare.1
vite
TuxCare:npm
From an advisory covering 2 CVEs
5.4.10-tuxcare.0 up to 5.4.10-tuxcare.1, plus listed versions
5.4.10
5.4.10-tuxcare.1
@vitejs/plugin-react
TuxCare:npm
From an advisory covering 11 CVEs
2.9.18-tuxcare.0 up to 2.9.18-tuxcare.1, plus listed versions
2.9.18
2.9.18-tuxcare.1
@vitejs/plugin-react
TuxCare:npm
From an advisory covering 6 CVEs
3.2.11-tuxcare.0 up to 3.2.11-tuxcare.1, plus listed versions
3.2.11
3.2.11-tuxcare.1
@rootio/vite
Root:npm
before 2.9.18-root.io.1
2.9.18-root.io.12.9.18-root.io.22.9.18-root.io.3
vite
Root:npm
before 2.9.18-aikido.2
2.9.18-aikido.22.9.18-aikido.3

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubMiclelsonCN/CVE-2025-30208_POC2025-03-26
PoC in GitHubThumpBo/CVE-2025-30208-EXP2025-03-26
PoC in GitHubmarino-admin/Vite-CVE-2025-30208-Scanner2025-03-26
PoC in GitHubxuemian168/CVE-2025-302082025-03-26
PoC in GitHub4xura/CVE-2025-302082025-03-27
PoC in GitHubOn1onss/CVE-2025-302082025-03-27
PoC in GitHubiSee857/CVE-2025-30208-PoC2025-03-27
PoC in GitHubkeklick1337/CVE-2025-30208-ViteVulnScanner2025-03-28
PoC in GitHubsadhfdw129/CVE-2025-30208-Vite2025-03-28
PoC in GitHubjackieya/ViteVulScan2025-03-31
Show 16 moreShow less
Public exploits
SourceLinkDate
PoC in GitHub0xshaheen/CVE-2025-302082025-04-02
PoC in GitHubsumeet-darekar/CVE-2025-302082025-04-02
PoC in GitHub4m3rr0r/CVE-2025-30208-PoC2025-04-03
Exploit-DBVite 6.2.2 - Arbitrary File Read2025-04-03
PoC in GitHublilil3333/Vite-CVE-2025-30208-EXP2025-04-05
PoC in GitHubimbas007/CVE-2025-30208-template2025-04-21
PoC in GitHubr0ngy40/CVE-2025-30208-Series2025-04-24
PoC in GitHubnkuty/CVE-2025-30208-31125-31486-323952025-05-29
PoC in GitHubHaGsec/CVE-2025-302082025-06-06
PoC in GitHubThemeHackers/CVE-2025-302082025-06-27
PoC in GitHubTH-SecForge/CVE-2025-302082025-06-29
PoC in GitHubHazaVVIP/CVE-2025-302082026-03-04
PoC in GitHubcc3305/CVE-2025-302082026-06-16
PoC in GitHubMinseo9503/cve-2025-302082026-09-29
PoC in GitHubL15B04/Exploit-VITE-CVE-2025-30208-CVE-2025-311252026-10-18
NucleiVite - Arbitrary File Read

History

History
RecordedChangedSources
affected
factsOSV
exploits
exploits
first indexedCVE List, EUVD, Exploit-DB, GitHub Advisories, Nuclei, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2025-30208 is a medium vulnerability (CVSS 5.3) in Vitejs Vite, published March 24, 2025. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 74.8%, the 99th percentile. Fixed in vite 6.2.3.

References

Show 4 moreShow less
MoveEnter Open