# CVE-2025-32395: Vite - Information Disclosure

> Live exploitation tracking for CVE-2025-32395 by the CrowdSec Live Exploit Tracker, built from real-world attack data crowdsourced from CrowdSec's global network.

Page: https://tracker.crowdsec.net/cves/CVE-2025-32395

## Key facts

- **Exploitation phase:** Background Noise. Continuous low-level scanning or exploitation attempts are observed, mostly opportunistic and automated.
- **CVSS score:** 6.0
- **Public exploit available:** Yes
- **Affected products:** Vitejs Vite
- **Weaknesses:** CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor)
- **Tags:** javascript, nodejs, web_application

## Description

Vite is a frontend tooling framework for javascript. Prior to 6.2.6, 6.1.5, 6.0.15, 5.4.18, and 4.5.13, 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 (it includes request-target), the spec recommends to reject them with 400 or 301. The same can be said for HTTP 2. On Node and Bun, those requests are not rejected internally and is 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 (using --host or server.host config option) and running the Vite dev server on runtimes that are not Deno (e.g. Node, Bun) are affected. This vulnerability is fixed in 6.2.6, 6.1.5, 6.0.15, 5.4.18, and 4.5.13.

## CrowdSec analysis

[CVE-2025-32395](https://euvd.enisa.europa.eu/vulnerability/CVE-2025-32395) is an information disclosure vulnerability in Vite, a popular JavaScript frontend tooling framework, affecting versions prior to 6.2.6, 6.1.5, 6.0.15, 5.4.18, and 4.5.13. When the Vite dev server is exposed to the network and running on Node or Bun, attackers can exploit improper handling of request URLs containing the '#' character to bypass file system restrictions and access arbitrary files. This flaw could allow remote attackers to retrieve sensitive files from the server, posing a significant risk to development environments that are publicly accessible.

CrowdSec has been tracking this vulnerability and its exploits since 6th of May 2026.

CrowdSec network data shows that most actors exploiting CVE-2025-32395 rely on broad, untargeted scans with minimal filtering. The activity is largely automated and opportunistic in nature.
CrowdSec network telemetry also shows that exploitation of CVE-2025-32395 has significantly declined over the past week. Attack volumes are well below the long-term average, suggesting attackers are rapidly losing interest. The vulnerability appears to be falling out of active use across most threat landscapes.

Attackers exploit this vulnerability by sending requests to URLs containing `@fs/` followed by a path and a `#` fragment, such as `/@fs/<path>/#/../../../../../../etc/passwd`, to trigger path traversal and access sensitive files on Vite dev servers exposed to the network.

## Timeline

- 2025-04-10: CVE Published. CVE-2025-32395 is published to NVD.
- 2026-05-06: Rule Released. CrowdSec releases a rule to detect CVE-2025-32395 exploitation attempts against the CrowdSec Network.
- 2026-05-18: CrowdSec First Seen. CrowdSec observes in-the-wild exploitation of CVE-2025-32395 for the first time.

## References

- https://github.com/vitejs/vite/security/advisories/GHSA-356w-63v5-8wf4
- https://github.com/vitejs/vite/commit/175a83909f02d3b554452a7bd02b9f340cdfef70
- https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-32395.yaml

## Live exploitation data

The [Live Exploit Tracker page](https://tracker.crowdsec.net/cves/CVE-2025-32395) follows observed exploitation activity for CVE-2025-32395. [Request an API key](https://tracker.crowdsec.net/request-api-key) for full access to its exploitation timeline, attacking IP addresses and blocklists.
