Vite's server.fs.deny bypassed with /. for files under project root
Package
Affected versions
>= 6.3.0, <= 6.3.3
>= 6.2.0, <= 6.2.6
>= 6.0.0, <= 6.1.5
>= 5.0.0, <= 5.4.18
<= 4.5.13
Patched versions
6.3.4
6.2.7
6.1.6
5.4.19
4.5.14
Description
Published to the GitHub Advisory Database
Apr 30, 2025
Reviewed
Apr 30, 2025
Published by the National Vulnerability Database
May 1, 2025
Last updated
May 2, 2025
Summary
The contents of files in the project
root
that are denied by a file matching pattern 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.
Only files that are under project
root
and are denied by a file matching pattern can be bypassed..env
,.env.*
,*.{crt,pem}
,**/.env
**/.git/**
,.git/**
,.git/**/*
Details
server.fs.deny
can contain patterns matching against files (by default it includes.env
,.env.*
,*.{crt,pem}
as such patterns).These patterns were able to bypass for files under
root
by using a combination of slash and dot (/.
).PoC
References