chore(deps): update devdependency vite to v3.2.8 [security] #32
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:
3.1.0->3.2.8GitHub Vulnerability Alerts
CVE-2023-34092
Summary
The issue involves a security vulnerability in Vite, where the server options can be bypassed using a double forward slash (
//). This vulnerability poses a potential security risk as it can allow unauthorized access to sensitive directories and files. This document outlines the steps to address and mitigate this issue. Adding Extra References : ## Steps to Fix. Update Vite:Ensure that you are using the latest version of Vite. Security issues like this are often fixed in newer releases.\n\n2. Secure the Server Configuration:In yourvite.config.jsfile, review and update the server configuration options to restrict access to unauthorized requests or directories. For example:```javascript\n // vite.config.js\n export default { server: {\n fs: {\n deny: ['private-directory'] // Restrict access to specific directoriesImpact
Only users explicitly exposing the Vite dev server to the network (using
--hostorserver.hostconfig 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
//) (e.g://.env,//.env.local)fs.denyrestrict successfully bypassed.Proof Images:


CVE-2024-23331
Summary
Vite dev server option
server.fs.denycan be bypassed on case-insensitive file systems using case-augmented versions of filenames. Notably this affects servers hosted on Windows.This bypass is similar to https://nvd.nist.gov/vuln/detail/CVE-2023-34092 -- with surface area reduced to hosts having case-insensitive filesystems.
Patches
Fixed in vite@5.0.12, vite@4.5.2, vite@3.2.8, vite@2.9.17
Details
Since
picomatchdefaults to case-sensitive glob matching, but the file server doesn't discriminate; a blacklist bypass is possible.See
picomatchusage, wherenocaseis defaulted tofalse: https://github.com/vitejs/vite/blob/v5.1.0-beta.1/packages/vite/src/node/server/index.ts#L632By requesting raw filesystem paths using augmented casing, the matcher derived from
config.server.fs.denyfails to block access to sensitive files.PoC
Setup
npm create vite@lateston a Standard Azure hosted Windows 10 instance.npm run dev -- --host 0.0.0.0custom.secretandproduction.pemvite.config.jswithReproduction
curl -s http://20.12.242.81:5173/@​fs//curl -s http://20.12.242.81:5173/@​fs/C:/Users/darbonzo/Desktop/vite-project/vite.config.jscurl -s http://20.12.242.81:5173/@​fs/C:/Users/darbonzo/Desktop/vite-project/custom.sEcReTProof

Impact
Who
What
server.fs.denyare both discoverable, and accessibleRelease Notes
vitejs/vite (vite)
v3.2.8Compare Source
Please refer to CHANGELOG.md for details.
v3.2.7Compare Source
Please refer to CHANGELOG.md for details.
v3.2.6Compare Source
v3.2.5Compare Source
v3.2.4Compare Source
v3.2.3Compare Source
@types/nodeas an optional peer dependency (#10757) (57916a4), closes #10757vite:afterUpdateevent (#9810) (1f57f84), closes #9810multilineCommentsREregex (fix #10689) (#10751) (51ed059), closes #10689 #10751v3.2.2Compare Source
jsxoverrides esbuild options, reverts #10374 (#10714) (aacf6a4), closes #10374 #10714v3.2.1Compare Source
v3.2.0Compare Source
Main Changes
Multiple Entries for Library Mode
Library mode now supports multiple entries:
Check out the PR #7047, and the
build.libconfig docsbuild.modulePreloadoptionsVite now allows filtering and modifying module preload dependencies for each entry and async chunk.
experimental.renderBuiltUrlwill also get called for preload asset paths. Andbuild.modulePreload.resolveDependencieswill be called both for JS dynamic imports preload lists and also for HTML preload lists for chunks imported from entry HTML files. Refer to the PR for more context #9938 and check out the modulePreload config docs. Note:build.modulePreloadPolyfillis now deprecated, please migrate tobuild.modulePreload.polyfill.Include Duplicate Assets in the Manifest
Laravel and other backends integrations will now get entries for every asset file, even if they have been de-duplicated. See #9928 for more information.
Customizable ErrorOverlay
You can now customize the ErrorOverlay by using css parts. Check out the PR for more details: #10234.
Features
new URLto resolve package assets (#7837) (bafccf5), closes #7837server.fs.deny(#10044) (df560b0), closes #10044Bug Fixes
import.meta.resolve) (fixes #10430) (#10528) (64f19b9), closes #10430 #10528?directin id for postcss process (#10514) (67e7bf2), closes #10514moduleResolution=node16(#10375) (8c4df1f), closes #10375mainFieldswhen resolving browser/module field (fixes #8659) (#10071) (533d13c), closes #8659 #10071build.ssris true (#9989) (7229251), closes #9989^2.79.1(#10298) (2266d83), closes #10298Previous Changelogs
3.2.0-beta.4 (2022-10-24)
See 3.2.0-beta.4 changelog
3.2.0-beta.3 (2022-10-20)
See 3.2.0-beta.3 changelog
3.2.0-beta.2 (2022-10-14)
See 3.2.0-beta.2 changelog
3.2.0-beta.1 (2022-10-10)
See 3.2.0-beta.1 changelog
3.2.0-beta.0 (2022-10-05)
See 3.2.0-beta.0 changelog
v3.1.8Compare Source
Please refer to CHANGELOG.md for details.
v3.1.7Compare Source
Please refer to CHANGELOG.md for details.
v3.1.6Compare Source
Please refer to CHANGELOG.md for details.
v3.1.5Compare Source
Please refer to CHANGELOG.md for details.
v3.1.4Compare Source
Please refer to CHANGELOG.md for details.
v3.1.3Compare Source
rollupOptions.inputin lib mode (#10116) (c948e7d), closes #10116v3.1.2Compare Source
v3.1.1Compare Source
asyncandawaitin code (#9854) (31f5ff3), closes #9854Configuration
📅 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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.