Vite bypasses server.fs.deny when using ?raw??
Package
Affected versions
>= 6.2.0, < 6.2.3
>= 6.1.0, < 6.1.2
>= 6.0.0, < 6.0.12
>= 5.0.0, < 5.4.15
< 4.5.10
Patched versions
6.2.3
6.1.2
6.0.12
5.4.15
4.5.10
Description
Published by the National Vulnerability Database
Mar 24, 2025
Published to the GitHub Advisory Database
Mar 25, 2025
Reviewed
Mar 25, 2025
Last updated
Mar 25, 2025
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
orserver.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
References