Skip to main content

Improper Handling of Case Sensitivity

CVE-2024-23331

Severity High
Score 7.5/10

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.

Advisory Timeline

  • Published