Mass Scanning Targets Exposed Vite Servers to Steal AWS Keys and Azure Tokens
Attackers mass-scanned exposed Vite dev servers exploiting CVE-2026-39364 to read .env files and steal AWS keys and Azure tokens, per F5 Labs honeynet data.
Honeynet telemetry recorded 807 session-grouped attacks and roughly 32,000 raw events in August 2026 against exposed Vite development servers. CVE-2026-39364 (CVSS 7.5) is an unauthenticated file-read flaw in Vite 7.1.0 through 7.3.2 and 8.0.5 that bypasses server.fs.deny via query parameters like ?raw and ?import&raw to return files in plaintext. Attackers also probed older Vite flaws CVE-2025-30208, CVE-2025-31125, and CVE-2024-45811, and used wordlists to locate .env files, AWS credential files, Azure token stores, and Terraform state across Linux, container, and web paths. Exposed secrets could enable lateral movement or full cloud account takeover.
- CVE-2026-39364 (CVSS 7.5) bypasses server.fs.deny in Vite 7.1.0-7.3.2 and 8.0.5
- Honeynets logged 807 attacks and ~32,000 events in August 2026
- Wordlists target .env files, AWS credentials, Azure tokens, terraform.tfstate
- Older Vite flaws CVE-2025-30208, CVE-2025-31125, CVE-2024-45811 also probed
- Exposed secrets risk cloud account takeover and lateral movement
Vulnerabilities mentionedAll →
| CVE | Vulnerability | CVSS | EPSS | Flags | Affected | Exposure | Published |
|---|---|---|---|---|---|---|---|
| CVE-2024-45811 | Vite a frontend build tooling framework for javascript. Vite a frontend build tooling framework for javascript. In affected versions the contents of arbitrary files can be returned to the browser. `@fs` denies access to files outside of Vite serving allow list. Adding `?import&raw` to the URL bypasses this limitation and returns the file content if it exists. This issue has been patched in versions 5.4.6, 5.3.6, 5.2.14, 4.5.5, and 3.2.11. Users are advised to upgrade. There are no known workarounds for this vulnerability. NVD description · AI analysis pending | 4.8 | 1% | — | — | ||
| CVE-2025-30208 | Unauthenticated Arbitrary File Read in Vite Dev Server via @fs Allow-List Bypass Vite dev servers in versions prior to 6.2.3, 6.1.2, 6.0.12, 5.4.15, and 4.5.10 fail to enforce the `@fs` file-access allow list because trailing separators such as `?` are stripped in several places but are not accounted for in the query-string regexes. A remote, unauthenticated attacker triggers the flaw by appending `?raw??` or `?import&raw??` to a dev-server URL, bypassing the restriction and returning the contents of arbitrary files on the host if they exist. The impact is confidentiality only — arbitrary file read with no code execution or privilege escalation, consistent with the CVSS 3.1 score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N). Only projects that explicitly expose the Vite dev server to the network (via `--host` or the `server.host` config option) are affected; purely local development usage is not remotely exploitable. A public proof of concept is available in the GitHub advisory (GHSA-x574-m823-4x7w); the flaw is not yet in CISA KEV, but EPSS assigns a 75% probability of exploitation within 30 days (99th percentile), so opportunistic scanning is likely. Do: Upgrade Vite to 6.2.3, 6.1.2, 6.0.12, 5.4.15, or 4.5.10 depending on your release branch. If you cannot upgrade immediately, stop exposing the dev server to untrusted networks (remove `--host` / set `server.host` to localhost) or firewall the dev-server port. Audit internet-facing hosts for running Vite dev servers and check access logs for requests containing `?raw??` or `?import&raw??`, which may indicate exploitation attempts. | 7.5 | 75% | PoC |
| massmillions of installs run affected Vite versions (millions of weekly npm downloads); the remotely exploitable subset | |
| CVE-2025-31125 | Vite Dev Server Improper Access Control Exposes Protected Files (Actively Exploited) CVE-2025-31125 is an improper access control flaw (CWE-284/CWE-200) in the Vite JavaScript frontend tooling's dev server, where HTTP requests using the '?inline&import' or '?raw?import' query parameters can read the contents of files the dev server should not serve, bypassing its file-access restrictions (server.fs.deny). An unauthenticated remote attacker (CVSS:3.1 AV:N/AC:L/PR:N/UI:N) triggers it by sending crafted requests with these query parameters to a running Vite dev server. The attacker gains read access to arbitrary files on the machine running the dev server, such as source code and .env files containing secrets, with high confidentiality impact and no integrity or availability impact. Only applications that explicitly expose the Vite dev server to the network via the --host flag or the server.host option are affected; production builds are not impacted. The flaw is being actively exploited: CISA added it to the Known Exploited Vulnerabilities catalog on 2026-01-22 (ransomware association unknown), and EPSS assigns a 58.5% probability of exploitation within 30 days (99th percentile). Do: Upgrade Vite to 6.2.4, 6.1.3, 6.0.13, 5.4.16, or 4.5.11 depending on your release line. Until patched, do not expose the dev server to untrusted networks (remove --host/server.host or bind to localhost behind an access-controlled proxy), and review access logs for requests using ?inline&import or ?raw?import that retrieved sensitive files such as .env. As a KEV entry added 2026-01-22, U.S. federal agencies must apply vendor mitigations per BOD 22-01 or discontinue use if mitigations are unavailable. | 7.5 | 58% | KEV PoC |
| largeplausibly tens of thousands to ~100,000 network-exposed Vite dev servers, out of millions of total Vite users | |
| CVE-2026-39364 | Vite is a frontend tooling framework for JavaScript. Vite is a frontend tooling framework for JavaScript. From 7.1.0 to before 7.3.2 and 8.0.5, on the Vite dev server, files that should be blocked by server.fs.deny (e.g., .env, *.crt) can be retrieved with HTTP 200 responses when query parameters such as ?raw, ?import&raw, or ?import&url&inline are appended. This vulnerability is fixed in 7.3.2 and 8.0.5. NVD description · AI analysis pending | 8.2 | 2% | PoC |
| — |
Full article402 words · extracted from gbhackers.com · click to collapse
In August 2026, automated threat activity targeting exposed Vite development servers increased significantly. Attackers aimed to extract cloud credentials, environment files, and infrastructure state data by exploiting a critical file-read vulnerability known as CVE-2026-39364.
Honeynet telemetry recorded 807 session-grouped attacks and approximately 32,000 raw events during the monthly analysis period.
This campaign shows how quickly attackers can exploit newly disclosed vulnerabilities in developer tools, especially when they provide unauthenticated access to sensitive information that could enable cloud account takeovers.
Exploitation of the Vite File-Read Flaw
CVE-2026-39364 is an unauthenticated access-control bypass in the Vite development server, rated 7.5 on the CVSS scale. This vulnerability affects Vite versions 7.1.0 through 7.3.2 and 8.0.5.
The flaw permits remote attackers to bypass the server.fs.deny restrictions set by Vite, which are designed to prevent sensitive host files, such as .env files, certificates, and application source code, from being served through the development server.
Vite includes an internal @fs route to support local development workflows. Attackers can manipulate query parameters like ?raw, ?import&raw, or ?import&url&inline to circumvent the configured deny list. A successful request will return the targeted file in plaintext over HTTP.
According to F5 Labs, the attack activity also included attempts to exploit older Vite vulnerabilities, including CVE-2025-30208, CVE-2025-31125, and CVE-2024-45811. These vulnerabilities also involve query-string-based bypasses that affect file-access controls.
The scanners did not restrict their targeting to generic .env files. Instead, they employed extensive wordlists to locate cloud credentials and deployment artifacts across common Linux, container, and web application paths. Frequently targeted resources included:
- Environment files such as
.env,.env.production,.env.local, and.env.staging - AWS credential files, including
/root/.aws/credentials,/home/ubuntu/.aws/credentials, and/app/.aws/credentials - Azure token and credential stores, including
.azure/credentialsand.azure/accessTokens.json - Terraform and serverless deployment data, such as
terraform.tfstate,terraform.tfvars,serverless.yml, and.serverless/serverless-state.json - System resources including
/etc/passwd,/proc/self/environ, and/proc/1/environ
One notable target was /proc/self/cwd/.env, which lets attackers expose the active application directory’s environment file without knowing the absolute deployment path.
Such files may contain sensitive information, including database passwords, API keys, authentication secrets, and cloud access keys, potentially enabling lateral movement or complete compromise of cloud environments.
Keep your SOC up to date on active malware & phishing within 24h of their emergence. Try ANYRUN to prevent incidents with early detection.
Divya is a Senior Journalist at GBhackers covering Cyber Attacks, Threats, Breaches, Vulnerabilities and other happenings in the cyber world.
Text extracted automatically; images, tables and formatting may be missing. Original: https://gbhackers.com/mass-scanning-targets-exposed-vite-servers-to-steal-aws-keys/