-
-
Notifications
You must be signed in to change notification settings - Fork 10.9k
Update dependency vite to v4.5.12 [SECURITY] #22981
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
a8b4072
to
d00062c
Compare
d00062c
to
e7a4d9f
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #22981 +/- ##
==========================================
- Coverage 72.33% 72.33% -0.01%
==========================================
Files 1513 1513
Lines 107300 107300
Branches 13224 13224
==========================================
- Hits 77615 77614 -1
- Misses 28668 28669 +1
Partials 1017 1017
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This PR contains the following updates:
4.5.6
->4.5.12
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)
v4.5.12
Compare Source
Please refer to CHANGELOG.md for details.
v4.5.11
Compare Source
Please refer to CHANGELOG.md for details.
v4.5.10
Compare Source
Please refer to CHANGELOG.md for details.
v4.5.9
Compare Source
Please refer to CHANGELOG.md for details.
v4.5.8
Compare Source
Please refer to CHANGELOG.md for details.
v4.5.7
Compare Source
Please refer to CHANGELOG.md for details.
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - Between 05:00 PM and 11:59 PM, only on Friday ( * 17-23 * * 5 ), Only on Sunday and Saturday ( * * * * 0,6 ), Between 12:00 AM and 12:59 PM, only on Monday ( * 0-12 * * 1 ) (UTC).
🚦 Automerge: Enabled.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.