Improper Handling of Case Sensitivity
CVE-2024-23331
Summary
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, 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 vulnerability affects vite package versions 2.7.0-beta.0 through 2.9.16, 3.0.0-alpha.0 through 3.2.7, 4.0.0-alpha.0 through 4.5.1, 5.0.0-beta.0 through 5.0.11, and 5.1.0-beta.0 through 5.1.0-beta.1. Users are advised to upgrade. Users unable to upgrade should restrict access to dev servers.
- LOW
- NETWORK
- NONE
- UNCHANGED
- NONE
- NONE
- HIGH
- NONE
CWE-178 - Improper Handling of Case Sensitivity
The software does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results.
References
Advisory Timeline
- Published