Mass-Scanning Campaign Exploits Vite Dev Server Flaw to Steal Cloud Credentials

❓What:
F5 Labs disclosed an automated mass-scanning campaign, observed in August 2026, exploiting CVE-2026-39364 (CVSS 8.2), a high-severity Vite vulnerability
The flaw lets an unauthenticated attacker bypass Vite's server.fs.deny protections using query parameter manipulation (e.g., ?raw, ?import&raw, ?import&url&inline) appended to /@fs/ requests
Exploitation requires three conditions: the dev server is exposed to the network (via --host or server.host), the target file exists within server.fs.allow directories, and it's a file normally blocked by server.fs.deny
Under default config, Vite binds to localhost only — exposure typically results from developers passing --host, setting server.host, or misconfigured Docker port mappings
Attackers used spoofed User-Agent headers impersonating crawlers/AI bots (Googlebot, ClaudeBot, GPTBot, PerplexityBot, OAI-SearchBot, Amazonbot) and forged X-Forwarded-For/X-Real-IP headers to evade IP allowlists and complicate log analysis
Malicious traffic originated largely from the U.S., Belgium, Netherlands, Singapore, and Taiwan, routed through Google Cloud Platform IP ranges
⚠️Impact:
Plaintext extraction of environment configs, AWS credentials and configuration backups, infrastructure state files (terraform.tfstate, serverless.yml), Azure profiles, and system files like /etc/passwd and /proc/self/environ
Probing of /proc/self/cwd/.env shows attackers can pull active .env files without needing to know the app's absolute path — indicating deliberate, informed targeting rather than blind scanning
Exposure could lead directly to cloud account takeover given the credential types harvested
💡Recommendations:
Never expose Vite dev servers directly to the network or internet — confirm --host/server.host isn't set in any environment reachable outside localhost
Audit Docker/container configs for accidental port mapping that exposes dev servers
Patch to a Vite version with the CVE-2026-39364 fix per the vendor advisory
Rotate any credentials that may have lived in .env files, Terraform state, or cloud config files on internet-facing dev instances
Review logs for anomalous /@fs/ requests with the listed query parameter patterns, and treat forged AI-bot User-Agent strings as a detection signal, not a trust signal
Read the full story HERE
