CVE-2024-31207
Vite's `server.fs.deny` did not deny requests for patterns with directories
Vite (French word for "quick", pronounced /vit/, like "veet") is a frontend build tooling to improve the frontend development experience.server.fs.deny does not deny requests for patterns with directories. This vulnerability has been patched in version(s) 5.2.6, 5.1.7, 5.0.13, 4.5.3, 3.2.10 and 2.9.18.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.9
Vite's `server.fs.deny` did not deny requests for patterns with directories
Vite (French word for "quick", pronounced /vit/, like "veet") is a frontend build tooling to improve the frontend development experience.server.fs.deny does not deny requests for patterns with directories. This vulnerability has been patched in version(s) 5.2.6, 5.1.7, 5.0.13, 4.5.3, 3.2.10 and 2.9.18.
- Record
CVE-2024-31207- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200, CWE-284
- Updated
- 2026-11-02
EUVDEUVD-2024-1159
5.9
Vite (French word for "quick", pronounced /vit/, like "veet") is a frontend build tooling to improve the frontend development experience.server.fs.deny does not deny requests for patterns with directories. This vulnerability has been patched in version(s) 5.2.6, 5.1.7, 5.0.13, 4.5.3, 3.2.10 and 2.9.18.
- Record
EUVD-2024-1159- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-8jhw-289h-jh2g
5.9
Vite's `server.fs.deny` did not deny requests for patterns with directories.
Summary
Vite dev server option server.fs.deny did not deny requests for patterns with directories. An example of such a pattern is /foo/**/*.
Impact
Only apps setting a custom server.fs.deny that includes a pattern with directories, and explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected.
Patches
Fixed in [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Details
server.fs.deny uses picomatch with the config of { matchBase: true }. matchBase only matches the basename of the file, not the path due to a bug (https://github.com/micromatch/picomatch/issues/89). The vite config docs read like you should be able to set fs.deny to glob with picomatch. Vite also does not set { dot: true } and that causes dotfiles not to be denied unless they are explicitly defined.
Reproduction
Set fs.deny to ['**/.git/**'] and then curl for /.git/config.
- with
matchBase: true, you can get any file under.git/(config, HEAD, etc). - with
matchBase: false, you cannot get any file under.git/(config, HEAD, etc).
- Record
GHSA-8jhw-289h-jh2g- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200, CWE-284
- Updated
- 2026-11-02
NVD
5.9
Vite (French word for "quick", pronounced /vit/, like "veet") is a frontend build tooling to improve the frontend development experience.server.fs.deny does not deny requests for patterns with directories. This vulnerability has been patched in version(s) 5.2.6, 5.1.7, 5.0.13, 4.5.3, 3.2.10 and 2.9.18.
- Record
CVE-2024-31207- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200, CWE-284
- Updated
- 2026-11-02
OSV
5.9
Vite's `server.fs.deny` did not deny requests for patterns with directories
Vite (French word for "quick", pronounced /vit/, like "veet") is a frontend build tooling to improve the frontend development experience.server.fs.deny does not deny requests for patterns with directories. This vulnerability has been patched in version(s) 5.2.6, 5.1.7, 5.0.13, 4.5.3, 3.2.10 and 2.9.18.
- Record
CVE-2024-31207- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200, CWE-284
- Updated
- 2026-11-04
OSVGHSA-8jhw-289h-jh2g
5.9
Vite's `server.fs.deny` did not deny requests for patterns with directories.
Summary
Vite dev server option server.fs.deny did not deny requests for patterns with directories. An example of such a pattern is /foo/**/*.
Impact
Only apps setting a custom server.fs.deny that includes a pattern with directories, and explicitly exposing the Vite dev server to the network (using --host or server.host config option) are affected.
Patches
Fixed in [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Details
server.fs.deny uses picomatch with the config of { matchBase: true }. matchBase only matches the basename of the file, not the path due to a bug (https://github.com/micromatch/picomatch/issues/89). The vite config docs read like you should be able to set fs.deny to glob with picomatch. Vite also does not set { dot: true } and that causes dotfiles not to be denied unless they are explicitly defined.
Reproduction
Set fs.deny to ['**/.git/**'] and then curl for /.git/config.
- with
matchBase: true, you can get any file under.git/(config, HEAD, etc). - with
matchBase: false, you cannot get any file under.git/(config, HEAD, etc).
- Record
GHSA-8jhw-289h-jh2g- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200, CWE-284
- Updated
- 2026-11-02
Show 6 moreShow less
OSVCLSA-2026-1784683083 No score
TuxCare security update for vite (6 CVEs)
TuxCare rebuilt vite to address 6 CVEs. Fixed in 2.9.18-tuxcare.2.
- Record
CLSA-2026-1784683083- Updated
- 2026-11-02
OSVCLSA-2026-1789031855 No score
TuxCare security update for vite (16 CVEs)
TuxCare rebuilt vite to address 16 CVEs. Fixed in 4.1.5-tuxcare.1.
- Record
CLSA-2026-1789031855- Updated
- 2026-11-02
OSVCLSA-2026-1790854813 No score
TuxCare security update for vite (2 CVEs)
TuxCare rebuilt vite to address 2 CVEs. Fixed in 5.0.12-tuxcare.2.
- Record
CLSA-2026-1790854813- Updated
- 2026-11-02
OSVCLSA-2026-1792163424 No score
TuxCare security update for vite (4 CVEs)
TuxCare rebuilt vite to address 4 CVEs. Fixed in 4.5.0-tuxcare.4.
- Record
CLSA-2026-1792163424- Updated
- 2026-11-02
OSVCLSA-2026-1792225953 No score
TuxCare security update for @vitejs/plugin-react (7 CVEs)
TuxCare rebuilt @vitejs/plugin-react to address 7 CVEs. Fixed in 2.9.18-tuxcare.2.
- Record
CLSA-2026-1792225953- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:14663-1 No score
velociraptor-0.7.0.4.git142.862ef23-1.1 on GA media
These are all security issues fixed in the velociraptor-0.7.0.4.git142.862ef23-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:14663-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
vitenpm |
2.7.0 to 2.9.17 | 2.9.18 |
vitenpm |
3.0.0 to 3.2.8 | 3.2.10 |
vitenpm |
4.0.0 to 4.5.2 | 4.5.3 |
vitenpm |
5.0.0 to 5.0.12 | 5.0.13 |
vitenpm |
5.1.0 to 5.1.6 | 5.1.7 |
vitenpm |
5.2.0 to 5.2.5 | 5.2.6 |
viteTuxCare:npm From an advisory covering 6 CVEs |
2.9.18-tuxcare.0 up to 2.9.18-tuxcare.2, plus listed versions 2.9.182.9.18-tuxcare.1 |
2.9.18-tuxcare.2 |
viteTuxCare:npm From an advisory covering 16 CVEs |
4.1.5-tuxcare.0 up to 4.1.5-tuxcare.1, plus listed versions 4.1.5 |
4.1.5-tuxcare.1 |
viteTuxCare:npm From an advisory covering 2 CVEs |
5.0.12-tuxcare.0 up to 5.0.12-tuxcare.2, plus listed versions 5.0.125.0.12-tuxcare.1 |
5.0.12-tuxcare.2 |
viteTuxCare:npm From an advisory covering 4 CVEs |
4.5.0-tuxcare.0 up to 4.5.0-tuxcare.4, plus listed versions 4.5.04.5.0-tuxcare.14.5.0-tuxcare.24.5.0-tuxcare.3 |
4.5.0-tuxcare.4 |
Show 8 moreShow less
| Package | Affected | Fixed |
|---|---|---|
@vitejs/plugin-reactTuxCare:npm From an advisory covering 7 CVEs |
2.9.18-tuxcare.0 up to 2.9.18-tuxcare.2, plus listed versions 2.9.182.9.18-tuxcare.1 |
2.9.18-tuxcare.2 |
vitenpm |
2.7.0 up to 2.9.18 | 2.9.18 |
vitenpm |
3.0.0 up to 3.2.10 | 3.2.10 |
vitenpm |
4.0.0 up to 4.5.3 | 4.5.3 |
vitenpm |
5.0.0 up to 5.0.13 | 5.0.13 |
vitenpm |
5.1.0 up to 5.1.7 | 5.1.7 |
vitenpm |
5.2.0 up to 5.2.6 | 5.2.6 |
velociraptoropenSUSE:Tumbleweed From an advisory covering 27 CVEs |
before 0.7.0.4.git142.862ef23-1.1 | 0.7.0.4.git142.862ef23-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-31207 is a medium vulnerability (CVSS 5.9) in Vitejs Vite, published April 3, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.71%, the 53rd percentile. Fixed in vite 2.9.18.
References
github.com/vitejs/vite/security/advisories/GHSA-8jhw-289h-jh2g
github.com/vitejs/vite/commit/011bbca350e447d1b499d242804ce62738c12bc0
github.com/vitejs/vite/commit/5a056dd2fc80dbafed033062fe6aaf4717309f48
github.com/vitejs/vite/commit/89c7c645f09d16a38f146ef4a1528f218e844d67
github.com/vitejs/vite/commit/96a7f3a41ef2f9351c46f3ab12489bb4efa03cc9
github.com/vitejs/vite/commit/ba5269cca81de3f5fbb0f49d58a1c55688043258
Show 33 moreShow less
github.com/vitejs/vite/commit/d2db33f7d4b96750b35370c70dd2c35ec3b9b649
nvd.nist.gov/vuln/detail/CVE-2024-31207
github.com/advisories/GHSA-8jhw-289h-jh2g
github.com/CVEProject/cvelistV5/tree/main/cves/2024/31xxx/CVE-2024-31207.json
github.com/vitejs/vite
lists.opensuse.org/archives/list/[email protected]/thread/IL7QOYRPFRGRS6UKU6ZYHI76FWFFUJNK
suse.com/security/cve/CVE-2023-1732
suse.com/security/cve/CVE-2023-44270
suse.com/security/cve/CVE-2023-45133
suse.com/security/cve/CVE-2023-45683
suse.com/security/cve/CVE-2023-46234
suse.com/security/cve/CVE-2024-21538
suse.com/security/cve/CVE-2024-23331
suse.com/security/cve/CVE-2024-24786
suse.com/security/cve/CVE-2024-28180
suse.com/security/cve/CVE-2024-31207
suse.com/security/cve/CVE-2024-37298
suse.com/security/cve/CVE-2024-4067
suse.com/security/cve/CVE-2024-4068
suse.com/security/cve/CVE-2024-42459
suse.com/security/cve/CVE-2024-42460
suse.com/security/cve/CVE-2024-42461
suse.com/security/cve/CVE-2024-45296
suse.com/security/cve/CVE-2024-45338
suse.com/security/cve/CVE-2024-45811
suse.com/security/cve/CVE-2024-45812
suse.com/security/cve/CVE-2024-47068
suse.com/security/cve/CVE-2024-47875
suse.com/security/cve/CVE-2024-48948
suse.com/security/cve/CVE-2024-48949
suse.com/security/cve/CVE-2024-51744
suse.com/security/cve/CVE-2024-55565
suse.com/security/cve/CVE-2024-6104