Vulnerabilities in pkg:npm/vite
PACKAGECVE-2026-53571 is a HIGH (CVSS 7.5) `server.fs.deny` bypass on windows alternate vulnerability (CWE-200: Exposure of Sensitive Information to an Unauthorized Actor) affecting vite libraries in the npm ecosystem. The issue involves `server.fs.deny` bypass on windows alternate paths. Remediation is available by upgrading affected packages to version 8.0.16, 7.3.5, 6.4.3, 0.1.24.
pkg:npm/vite
Vulnerability advisories affecting package pkg:npm/vite. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-fx2h-pf6j-xcff | CVE-2026-53571 | HIGH | vite: `server.fs.deny` bypass on Windows alternate paths |
| GHSA-v6wh-96g9-6wx3 | CVE-2026-53632 | MODERATE | launch-editor: NTLMv2 hash disclosure via UNC path handling on Windows |
| GHSA-c27g-q93r-2cwf | CVE-2024-52011 | HIGH | launch-editor vulnerable to command injection via the crafted request on Windows |
| GHSA-4w7w-66w2-5vf9 | CVE-2026-39365 | MODERATE | Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling |
| GHSA-v2wj-q39q-566r | CVE-2026-39364 | HIGH | Vite: `server.fs.deny` bypassed with queries |
| GHSA-p9ff-h696-f583 | CVE-2026-39363 | HIGH | Vite Vulnerable to Arbitrary File Read via Vite Dev Server WebSocket |
| GHSA-4r4m-qw57-chr8 | CVE-2025-31125 | MODERATE | Vite has a `server.fs.deny` bypassed for `inline` and `raw` with `?import` query |
| GHSA-93m4-6634-74q7 | CVE-2025-62522 | MODERATE | vite allows server.fs.deny bypass via backslash on Windows |
| GHSA-g4jq-h2w9-997c | CVE-2025-58751 | LOW | Vite middleware may serve files starting with the same name with the public directory |
| GHSA-jqfw-vq24-v9c3 | CVE-2025-58752 | LOW | Vite's `server.fs` settings were not applied to HTML files |
| GHSA-859w-5945-r5v3 | CVE-2025-46565 | MODERATE | Vite's server.fs.deny bypassed with /. for files under project root |
| GHSA-xcj6-pq6g-qj4x | CVE-2025-31486 | MODERATE | Vite allows server.fs.deny to be bypassed with .svg or relative paths |
| GHSA-356w-63v5-8wf4 | CVE-2025-32395 | MODERATE | Vite has an `server.fs.deny` bypass with an invalid `request-target` |
| GHSA-x574-m823-4x7w | CVE-2025-30208 | MODERATE | Vite bypasses server.fs.deny when using ?raw?? |
| GHSA-vg6x-rcgg-rjx6 | CVE-2025-24010 | MODERATE | Websites were able to send any requests to the development server and read the response in vite |
| GHSA-mv48-hcvh-8jj8 | CVE-2022-35204 | HIGH | Vite before v2.9.13 vulnerable to directory traversal via crafted URL to victim's service |
| GHSA-9cwx-2883-4wfx | CVE-2024-45811 | MODERATE | Vite's `server.fs.deny` is bypassed when using `?import&raw` |
| GHSA-64vr-g452-qvp3 | CVE-2024-45812 | MODERATE | Vite DOM Clobbering gadget found in vite bundled scripts that leads to XSS |
| GHSA-353f-5xf4-qw67 | CVE-2023-34092 | HIGH | Vite Server Options (server.fs.deny) can be bypassed using double forward-slash (//) |
| GHSA-8jhw-289h-jh2g | CVE-2024-31207 | MODERATE | Vite's `server.fs.deny` did not deny requests for patterns with directories. |
| GHSA-c24v-8rfc-w8vw | CVE-2024-23331 | HIGH | Vite dev server option `server.fs.deny` can be bypassed when hosted on case-insensitive filesystem |
| GHSA-92r3-m2mg-pj97 | CVE-2023-49293 | MODERATE | Vite XSS vulnerability in `server.transformIndexHtml` via URL payload |
CVE-2026-53571 at a Glance
Security Impact
CVSS: 7.5
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N).
How to Fix CVE-2026-53571
To remediate this vulnerability, upgrade all affected vite dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install vite@8.0.16
npm install vite@7.3.5
npm install vite@6.4.3
npm install vite-plus@0.1.24
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls vite
How to Check if You Are Affected
To determine whether your Node.js application is affected by CVE-2026-53571, inspect your project dependencies using npm:
npm ls vite
Analyze the terminal output to locate any version of vite in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 8.0.16), your application is affected.
Note: The npm ls vite command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-200: Exposure of Sensitive Information to an Unauthorized Actor, where the product exposes sensitive information to an actor that is not explicitly authorized to have access to that information. In vite, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-53571 Affected vite Versions
4 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
vite
|
npm |
≥ 8.0.0
< 8.0.16
|
8.0.16
|
|
vite
|
npm |
≥ 7.0.0
< 7.3.5
|
7.3.5
|
|
vite
|
npm |
< 6.4.3
|
6.4.3
|
|
vite-plus
|
npm |
< 0.1.24
|
0.1.24
|
References
Frequently Asked Questions
What is CVE-2026-53571?
Which vite versions are affected?
What version fixes CVE-2026-53571?
Is vite affected?
Is vite-plus affected?
What is the CVSS score of CVE-2026-53571?
What CWE is associated with CVE-2026-53571?
How can I check npm dependencies for CVE-2026-53571?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-fx2h-pf6j-xcff",
"modified" : "2026-07-15T22:05:52Z",
"published" : "2026-06-15T17:17:45Z",
"aliases" : [ "CVE-2026-53571" ],
"summary" : "vite: `server.fs.deny` bypass on Windows alternate paths",
"details" : "### Summary\n\nThe contents of files that are specified by [`server.fs.deny`](https://vite.dev/config/server-options#server-fs-deny) can be returned to the browser on Windows.\n\n### Impact\n\nOnly apps that match the following conditions are affected:\n\n- explicitly exposes the Vite dev server to the network (using `--host` or [`server.host` config option](https://vitejs.dev/config/server-options.html#server-host))\n- the sensitive file exists in the allowed directories specified by [`server.fs.allow`](https://vite.dev/config/server-options#server-fs-allow)\n- either of:\n - the sensitive file exists in an NTFS volume\n - the dev server is running on Windows and the sensitive file exists in a volume that 8.3 short name generation is enabled (it is enabled by default on system volumes)\n\n### Details\n\nVite’s dev server denies direct access to sensitive files through `server.fs.deny`, including entries such as `.env`, `.env.*`, and `*.{crt,pem}`. However, on Windows, the deny logic does not correctly normalize NTFS ADS path forms before access checks are applied.\nBecause of this, requests such as `/.env::$DATA?raw` are treated as allowed paths, while Windows resolves them to the original file's default data stream.\n\nSimilar to that, Windows allows accessing a file using a different name with the 8.3 short name compatibility feature. Vite did not reject accessing files via them.\n\n### PoC\n```bash\n$ npm create vite@latest\n$ cd vite-project/\n$ npm install\n$ npm run dev\n```\nAccess via browser at `http://localhost:5173/.env::$DATA?raw`\n<img width=\"388\" height=\"129\" alt=\"deecc1315123883cfd0f9c26a002845a\" src=\"https://github.com/user-attachments/assets/895c6012-4e2e-4a35-babb-69bbf3ee7170\" />\n\nExample expected result:\n- `/.env::$DATA?raw` returns the contents of `.env`\n- `/tls.pem::$DATA?raw` returns the contents of `tls.pem`",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
}, {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "vite"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "8.0.0"
}, {
"fixed" : "8.0.16"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 8.0.15"
}
}, {
"package" : {
"ecosystem" : "npm",
"name" : "vite"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "7.0.0"
}, {
"fixed" : "7.3.5"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 7.3.4"
}
}, {
"package" : {
"ecosystem" : "npm",
"name" : "vite"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "6.4.3"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 6.4.2"
}
}, {
"package" : {
"ecosystem" : "npm",
"name" : "vite-plus"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.1.24"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 0.1.23"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/vitejs/vite/security/advisories/GHSA-fx2h-pf6j-xcff"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-53571"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/vitejs/vite"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-200", "CWE-22" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-06-15T17:17:45Z",
"nvd_published_at" : "2026-06-22T18:16:44Z"
}
}