[Security] Bump vite from 3.2.6 to 3.2.7 in /webapp
Bumps vite from 3.2.6 to 3.2.7. This update includes a security fix.
Vulnerabilities fixed
Vite Server Options (server.fs.deny) can be bypassed using double forward-slash (//)
Summary
Vite Server Options (
server.fs.deny
) can be bypassed using double forward-slash (//) allows any unauthenticated user to read file from the Vite root-path of the application including the defaultfs.deny
settings (['.env', '.env.*', '*.{crt,pem}']
)Impact
Only users explicitly exposing the Vite dev server to the network (using
--host
orserver.host
config option) are affected, and only files in the immediate Vite project root folder could be exposed.Patches
Fixed in vite@4.3.9, vite@4.2.3, vite@4.1.5, vite@4.0.5 And in the latest minors of the previous two majors: vite@3.2.7, vite@2.9.16
Details
Vite serve the application with under the root-path of the project while running on the dev mode. By default, vite using server options fs.deny to protected the sensitive information of the file. But, with simply double forward-slash, we can bypass this fs restriction.
PoC
- Create a new latest project of vite using any package manager. (here I'm using react and vue templates for tested and pnpm)
- Serve the application on dev mode using pnpm run dev.
- Directly access the file from url using double forward-slash (
//
) (e.g://.env
,//.env.local
)- Server Options
fs.deny
restrict successfully bypassed.Proof Images:
... (truncated)
Patched versions: 3.2.7 Affected versions: >= 3.0.2, < 3.2.7
Commits
-
494f36b
release: v3.2.7 -
0574f80
fix: port #13348 to v3, fs.deny with leading double slash (#13349) - See full diff in compare view
Dependabot commands
You can trigger Dependabot actions by commenting on this MR
-
$dependabot rebase
will rebase this MR -
$dependabot recreate
will recreate this MR rewriting all the manual changes and resolving conflicts