PT-2025-15989 · Vite · Vite
Do9Gy-Msec
+1
·
Published
2025-04-10
·
Updated
2025-06-09
·
CVE-2025-32395
CVSS v4.0
6.0
Medium
| Vector | AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Name of the Vulnerable Software and Affected Versions
Vite versions prior to 6.2.6
Vite versions prior to 6.1.5
Vite versions prior to 6.0.15
Vite versions prior to 5.4.18
Vite versions prior to 4.5.13
Description
Vite is a frontend tooling framework for javascript. The contents of arbitrary files can be returned to the browser if the dev server is running on Node or Bun. HTTP 1.1 spec (RFC 9112) does not allow # in request-target. Although an attacker can send such a request, for those requests with an invalid request-line, the spec recommends to reject them with 400 or 301. On Node and Bun, those requests are not rejected internally and are passed to the user land. For those requests, the value of http.IncomingMessage.url contains #. Vite assumed req.url won't contain # when checking server.fs.deny, allowing those kinds of requests to bypass the check. Only apps explicitly exposing the Vite dev server to the network and running the Vite dev server on runtimes that are not Deno (e.g., Node, Bun) are affected. Over 130,000 services are potentially affected.
Recommendations
To resolve the issue for versions prior to 6.2.6, update to version 6.2.6 or later.
To resolve the issue for versions prior to 6.1.5, update to version 6.1.5 or later.
To resolve the issue for versions prior to 6.0.15, update to version 6.0.15 or later.
To resolve the issue for versions prior to 5.4.18, update to version 5.4.18 or later.
To resolve the issue for versions prior to 4.5.13, update to version 4.5.13 or later.
Exploit
Fix
DoS
Information Disclosure
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Vite