chore(deps): update devdependency vite [security] #1998
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^5.3.3
->^6.0.0
5.4.14
->5.4.17
GitHub Vulnerability Alerts
CVE-2025-30208
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
CVE-2025-31125
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
?inline&import
(originally reported as?import&?inline=1.wasm?init
)?raw?import
/@​fs/
isn't needed to reproduce the issue for files inside the project root.PoC
Original report (check details above for simplified cases):
The ?import&?inline=1.wasm?init ending allows attackers to read arbitrary files and returns the file content if it exists. Base64 decoding needs to be performed twice
Example full URL
http://localhost:5173/@​fs/C:/windows/win.ini?import&?inline=1.wasm?init
CVE-2025-31486
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
.svg
Requests ending with
.svg
are loaded at this line.https://github.com/vitejs/vite/blob/037f801075ec35bb6e52145d659f71a23813c48f/packages/vite/src/node/plugins/asset.ts#L285-L290
By adding
?.svg
with?.wasm?init
or withsec-fetch-dest: script
header, the restriction was able to bypass.This bypass is only possible if the file is smaller than
build.assetsInlineLimit
(default: 4kB) and when using Vite 6.0+.relative paths
The check was applied before the id normalization. This allowed requests to bypass with relative paths (e.g.
../../
).PoC
npm create vite@latest cd vite-project/ npm install npm run dev
send request to read
etc/passwd
curl 'http://127.0.0.1:5173/etc/passwd?.svg?.wasm?init'
curl 'http://127.0.0.1:5173/@​fs/x/x/x/vite-project/?/../../../../../etc/passwd?import&?raw'
Release Notes
vitejs/vite (vite)
v6.2.5
Compare Source
Please refer to CHANGELOG.md for details.
v6.2.4
Compare Source
Please refer to CHANGELOG.md for details.
v6.2.3
Compare Source
Please refer to CHANGELOG.md for details.
v6.2.2
Compare Source
base
(#19616) (2476391), closes #19616v6.2.1
Compare Source
isBuild
check from preAliasPlugin (#19587) (c9e086d), closes #19587applyToEnvironment
in internal plugins (#19588) (f678442), closes #19588*?url&no-inline
type and warning for.json?inline
/.json?no-inline
(#19566) (c0d3667), closes #19566v6.2.0
Compare Source
v6.1.5
Compare Source
Please refer to CHANGELOG.md for details.
v6.1.4
Compare Source
Please refer to CHANGELOG.md for details.
v6.1.3
Compare Source
Please refer to CHANGELOG.md for details.
v6.1.2
Compare Source
Please refer to CHANGELOG.md for details.
v6.1.1
Compare Source
.[cm]?[tj]sx?
static assets are JS mime (#19453) (e7ba55e), closes #19453*.ipv4
address in cert (#19416) (973283b), closes #19416v6.1.0
Compare Source
Features
port
in the logged error message after failed WS connection withEADDRINUSE
(#19212) (14027b0), closes #19212.jxl
(#18855) (57b397c), closes #18855builtins
environmentresolve
(#18584) (2c2d521), closes #18584defaultAllowedOrigins
for user-land config and 3rd party plugins (#19259) (dc8946b), closes #19259wasm
to the compressible assets regex (#19085) (ce84142), closes #19085Fixes
resolveLibCssFilename
(#19324) (f183bdf), closes #19324vite optimize
(#19347) (19ffad0), closes #19347server.preTransformRequests
(#19272) (12aaa58), closes #19272nodeLikeBuiltins
forssr.target: 'webworker'
withoutnoExternal: true
(#19313) (9fc31b6), closes #19313@plugin
imports of JS files treated as CSS and rebased (fix #19268) (#19269) (602b373), closes #19268 #19269resolve.builtin
is empty (#19312) (b7aba0b), closes #19312ssrLoadModule
(#19290) (353c467), closes #19290--force
work for all environments (#18901) (51a42c6), closes #18901RegExp
values withnew RegExp
instead ofstructuredClone
(fix #19245, fix #1 (56ad2be), closes #19245 #18875 #19247Chore
vite optimize
command (#19348) (6e0e3c0), closes #19348build.manifest
jsdocs (#19332) (4583781), closes #19332scanImports
not being used in ssr (#19285) (fbbc6da), closes #19285Beta Changelogs
6.1.0-beta.2 (2025-02-04)
See 6.1.0-beta.2 changelog
6.1.0-beta.1 (2025-02-04)
See 6.1.0-beta.1 changelog
6.1.0-beta.0 (2025-01-24)
See 6.1.0-beta.0 changelog
v6.0.15
Compare Source
Please refer to CHANGELOG.md for details.
v6.0.14
Compare Source
Please refer to CHANGELOG.md for details.
v6.0.13
Compare Source
Please refer to CHANGELOG.md for details.
v6.0.12
Compare Source
Please refer to CHANGELOG.md for details.
v6.0.11
Compare Source
preview.allowedHosts
with specific values was not respected (#19246) (aeb3ec8), closes #19246v6.0.10
Compare Source
server.origin
URL (#19241) (2495022), closes #19241v6.0.9
Compare Source
server.allowedHosts
(bd896fb)server.cors: false
to disallow fetching from untrusted origins (b09572a)v6.0.8
Compare Source
server.close()
only called once (#19204) (db81c2d), closes #19204defaultServerConditions
(#19174) (ad75c56), closes #19174ESBuildOptions.include / exclude
type to allowreadonly (string | RegExp)[]
(ea53e70), closes #19146v6.0.7
Compare Source
minify
whenbuilder.sharedPlugins: true
(#19025) (f7b1964), closes #19025vite-ignore
attribute for inline script (#19062) (a492253), closes #19062v6.0.6
Compare Source
fetchModule
-side resolve (#18361) (9f10261), closes #18361build.target
(#19047) (0e9e81f), closes #19047v6.0.5
Compare Source
v6.0.4
Compare Source
this.resolve
skipSelf should not skip for differentid
orimport
(#18903) (4727320), closes #18903pluginContainer.getModuleInfo
(#18895) (258cdd6), closes #18895url()
when lightningcss is used (#18997) (3734f80), closes #18997true
(#18899) (8a6bb4e), closes #18899handleInvoke
(#18902) (27f691b), closes #18902ModuleRunnerTransport
invoke
API (#18865) (e5f5301), closes #18865v6.0.3
Compare Source
ModuleRunnerTransport#invoke
more explicit (#18851) (a75fc31), closes #18851environments.ssr.resolve
with rootssr
config (#18857) (3104331), closes #18857v6.0.2
Compare Source
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.