CVE-2024-23331
published 2024-01-19CVE-2024-23331: Vite is a frontend tooling framework for javascript. The Vite dev server option `server.fs.deny` can be bypassed on case-insensitive file systems using…
PriorityP343high7.5CVSS 3.1
AVNACLPRNUINSUCHINAN
EPSS
0.79%
51.7th percentile
Vite is a frontend tooling framework for javascript. The Vite dev server option `server.fs.deny` can 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 CVE-2023-34092 -- with surface area reduced to hosts having case-insensitive filesystems. Since `picomatch` defaults to case-sensitive glob matching, but the file server doesn't discriminate; a blacklist bypass is possible. By requesting raw filesystem paths using augmented casing, the matcher derived from `config.server.fs.deny` fails to block access to sensitive files. This issue has been addressed in [email protected], [email protected], [email protected], and [email protected]. Users are advised to upgrade. Users unable to upgrade should restrict access to dev servers.
Affected
8 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| vitejs | vite | >= 2.7.0 < 2.9.17 | 2.9.17 |
| vitejs | vite | >= 2.7.0 < 2.9.17 | 2.9.17 |
| vitejs | vite | >= 3.0.0 < 3.2.8 | 3.2.8 |
| vitejs | vite | >= 3.0.0 < 3.2.8 | 3.2.8 |
| vitejs | vite | >= 4.0.0 < 4.5.2 | 4.5.2 |
| vitejs | vite | >= 4.0.0 < 4.5.2 | 4.5.2 |
| vitejs | vite | >= 5.0.0 < 5.0.12 | 5.0.12 |
| vitejs | vite | >= 5.0.0 < 5.0.12 | 5.0.12 |
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
ghsa7.5HIGH
osv7.5HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
Vite dev server option `server.fs.deny` can be bypassed when hosted on case-insensitive filesystem
osv·2024-01-19·CVSS 7.5
CVE-2024-23331 [HIGH] Vite dev server option `server.fs.deny` can be bypassed when hosted on case-insensitive filesystem
Vite dev server option `server.fs.deny` can be bypassed when hosted on case-insensitive filesystem
### Summary
[Vite dev server option](https://vitejs.dev/config/server-options.html#server-fs-deny) `server.fs.deny` can 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 [email protected], [email protected], [email protected], [email protected]
### Details
Since `picomatch` defaults to case-sensitive glob matching, but the file server doesn't discriminate; a blacklist bypass is possible.
See `picomatch` usage, where `nocase` is defaulted to `false`: https://git
GHSA
Vite dev server option `server.fs.deny` can be bypassed when hosted on case-insensitive filesystem
ghsa·2024-01-19·CVSS 7.5
CVE-2024-23331 [HIGH] CWE-178 Vite dev server option `server.fs.deny` can be bypassed when hosted on case-insensitive filesystem
Vite dev server option `server.fs.deny` can be bypassed when hosted on case-insensitive filesystem
### Summary
[Vite dev server option](https://vitejs.dev/config/server-options.html#server-fs-deny) `server.fs.deny` can 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 [email protected], [email protected], [email protected], [email protected]
### Details
Since `picomatch` defaults to case-sensitive glob matching, but the file server doesn't discriminate; a blacklist bypass is possible.
See `picomatch` usage, where `nocase` is defaulted to `false`: https://git
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/vitejs/vite/commit/91641c4da0a011d4c5352e88fc68389d4e1289a5https://github.com/vitejs/vite/security/advisories/GHSA-c24v-8rfc-w8vwhttps://vitejs.dev/config/server-options.html#server-fs-denyhttps://github.com/vitejs/vite/commit/91641c4da0a011d4c5352e88fc68389d4e1289a5https://github.com/vitejs/vite/security/advisories/GHSA-c24v-8rfc-w8vwhttps://vitejs.dev/config/server-options.html#server-fs-deny
2024-01-19
Published