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.05.4.14->5.4.17GitHub 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
--hostorserver.hostconfig option) are affected.Details
@fsdenies 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
--hostorserver.hostconfig 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?initCVE-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
.svgRequests ending with
.svgare loaded at this line.https://github.com/vitejs/vite/blob/037f801075ec35bb6e52145d659f71a23813c48f/packages/vite/src/node/plugins/asset.ts#L285-L290
By adding
?.svgwith?.wasm?initor withsec-fetch-dest: scriptheader, 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 devsend request to read
etc/passwdcurl '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.5Compare Source
Please refer to CHANGELOG.md for details.
v6.2.4Compare Source
Please refer to CHANGELOG.md for details.
v6.2.3Compare Source
Please refer to CHANGELOG.md for details.
v6.2.2Compare Source
base(#19616) (2476391), closes #19616v6.2.1Compare Source
isBuildcheck from preAliasPlugin (#19587) (c9e086d), closes #19587applyToEnvironmentin internal plugins (#19588) (f678442), closes #19588*?url&no-inlinetype and warning for.json?inline/.json?no-inline(#19566) (c0d3667), closes #19566v6.2.0Compare Source
v6.1.5Compare Source
Please refer to CHANGELOG.md for details.
v6.1.4Compare Source
Please refer to CHANGELOG.md for details.
v6.1.3Compare Source
Please refer to CHANGELOG.md for details.
v6.1.2Compare Source
Please refer to CHANGELOG.md for details.
v6.1.1Compare Source
.[cm]?[tj]sx?static assets are JS mime (#19453) (e7ba55e), closes #19453*.ipv4address in cert (#19416) (973283b), closes #19416v6.1.0Compare Source
Features
portin the logged error message after failed WS connection withEADDRINUSE(#19212) (14027b0), closes #19212.jxl(#18855) (57b397c), closes #18855builtinsenvironmentresolve(#18584) (2c2d521), closes #18584defaultAllowedOriginsfor user-land config and 3rd party plugins (#19259) (dc8946b), closes #19259wasmto the compressible assets regex (#19085) (ce84142), closes #19085Fixes
resolveLibCssFilename(#19324) (f183bdf), closes #19324vite optimize(#19347) (19ffad0), closes #19347server.preTransformRequests(#19272) (12aaa58), closes #19272nodeLikeBuiltinsforssr.target: 'webworker'withoutnoExternal: true(#19313) (9fc31b6), closes #19313@pluginimports of JS files treated as CSS and rebased (fix #19268) (#19269) (602b373), closes #19268 #19269resolve.builtinis empty (#19312) (b7aba0b), closes #19312ssrLoadModule(#19290) (353c467), closes #19290--forcework for all environments (#18901) (51a42c6), closes #18901RegExpvalues withnew RegExpinstead ofstructuredClone(fix #19245, fix #1 (56ad2be), closes #19245 #18875 #19247Chore
vite optimizecommand (#19348) (6e0e3c0), closes #19348build.manifestjsdocs (#19332) (4583781), closes #19332scanImportsnot 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.15Compare Source
Please refer to CHANGELOG.md for details.
v6.0.14Compare Source
Please refer to CHANGELOG.md for details.
v6.0.13Compare Source
Please refer to CHANGELOG.md for details.
v6.0.12Compare Source
Please refer to CHANGELOG.md for details.
v6.0.11Compare Source
preview.allowedHostswith specific values was not respected (#19246) (aeb3ec8), closes #19246v6.0.10Compare Source
server.originURL (#19241) (2495022), closes #19241v6.0.9Compare Source
server.allowedHosts(bd896fb)server.cors: falseto disallow fetching from untrusted origins (b09572a)v6.0.8Compare Source
server.close()only called once (#19204) (db81c2d), closes #19204defaultServerConditions(#19174) (ad75c56), closes #19174ESBuildOptions.include / excludetype to allowreadonly (string | RegExp)[](ea53e70), closes #19146v6.0.7Compare Source
minifywhenbuilder.sharedPlugins: true(#19025) (f7b1964), closes #19025vite-ignoreattribute for inline script (#19062) (a492253), closes #19062v6.0.6Compare Source
fetchModule-side resolve (#18361) (9f10261), closes #18361build.target(#19047) (0e9e81f), closes #19047v6.0.5Compare Source
v6.0.4Compare Source
this.resolveskipSelf should not skip for differentidorimport(#18903) (4727320), closes #18903pluginContainer.getModuleInfo(#18895) (258cdd6), closes #18895url()when lightningcss is used (#18997) (3734f80), closes #18997true(#18899) (8a6bb4e), closes #18899handleInvoke(#18902) (27f691b), closes #18902ModuleRunnerTransportinvokeAPI (#18865) (e5f5301), closes #18865v6.0.3Compare Source
ModuleRunnerTransport#invokemore explicit (#18851) (a75fc31), closes #18851environments.ssr.resolvewith rootssrconfig (#18857) (3104331), closes #18857v6.0.2Compare 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.