Every CVESearch/Get API key

CVE-2024-31207

Vite's `server.fs.deny` did not deny requests for patterns with directories

5.9 MediumFix available

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 54th percentile. Fixed in vite 2.9.18.

What does this mean?
Severity
5.9 MediumCVSS 3.1, CVE List
Exploit chance
0.71%EPSS, 54th percentile
Exploitation
None knownNot on CISA’s or ENISA’s lists
Fixed in
2.9.18vite +17 more

Description

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

0.71%Up 0.7 points since Apr 5, 2024
90%50%10%1%

Affected products

Affected packages

Affected packages
PackageAffectedFixed
vite
npm
2.7.0 to 2.9.17
2.9.18
vite
npm
3.0.0 to 3.2.8
3.2.10
vite
npm
4.0.0 to 4.5.2
4.5.3
vite
npm
5.0.0 to 5.0.12
5.0.13
vite
npm
5.1.0 to 5.1.6
5.1.7
vite
npm
5.2.0 to 5.2.5
5.2.6
vite
TuxCare: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
vite
TuxCare: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
vite
TuxCare: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
vite
TuxCare: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
Affected packages
PackageAffectedFixed
@vitejs/plugin-react
TuxCare: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
vite
npm
2.7.0 up to 2.9.18
2.9.18
vite
npm
3.0.0 up to 3.2.10
3.2.10
vite
npm
4.0.0 up to 4.5.3
4.5.3
vite
npm
5.0.0 up to 5.0.13
5.0.13
vite
npm
5.1.0 up to 5.1.7
5.1.7
vite
npm
5.2.0 up to 5.2.6
5.2.6
velociraptor
openSUSE:Tumbleweed
From an advisory covering 27 CVEs
before 0.7.0.4.git142.862ef23-1.1
0.7.0.4.git142.862ef23-1.1

What each source reports

CVE List Score used5.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 MediumCVSS: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-11595.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 MediumCVSS: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-jh2g5.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 vite@5.2.6, vite@5.1.7, vite@5.0.13, vite@4.5.3, vite@3.2.10, vite@2.9.18

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 MediumCVSS: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
NVD5.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 MediumCVSS: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
OSV5.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 MediumCVSS: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-11
OSVGHSA-8jhw-289h-jh2g5.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 vite@5.2.6, vite@5.1.7, vite@5.0.13, vite@4.5.3, vite@3.2.10, vite@2.9.18

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 MediumCVSS: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-1784683083No 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-1789031855No 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-1790854813No 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-1792163424No 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-1792225953No 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-1No 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

History

History
RecordedChangedSources
affected
factsOSV
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

References

Show 33 moreShow less
MoveEnter Open