Detect CVE-2025-31125: Vite Dev Server Improper Access Control in IBM QRadar
Detects exploitation of CVE-2025-31125, an improper access control vulnerability in Vite (Vitejs) dev server. The vulnerability allows unauthorized access to sensitive files outside the intended serve root, classified under CWE-200 (Information Exposure) and CWE-284 (Improper Access Control). This vulnerability is listed in CISA KEV, indicating active exploitation in the wild.
MITRE ATT&CK
- Tactic
- Initial Access Discovery Collection
QRadar Detection Query
SELECT
DATEFORMAT(starttime, 'YYYY-MM-dd HH:mm:ss') AS event_time,
sourceip,
destinationip,
destinationport,
URL,
username,
'CVE-2025-31125' AS cve_id,
CATEGORYDESCRIPTION(category) AS event_category
FROM events
WHERE
LOGSOURCETYPENAME(devicetype) IN ('Apache HTTP Server', 'Microsoft IIS', 'NGINX') AND
(
URL IMATCHES '.*/@fs/.*(\.\.|%2e%2e|\.env|/etc/|/proc/|passwd|shadow).*' OR
URL IMATCHES '.*/@fs/[A-Za-z]:.*' OR
URL IMATCHES '.*/\x40fs/.*'
) AND
starttime > NOW() - 7 DAYS
ORDER BY starttime DESC
LIMIT 1000 QRadar AQL query searching web server log sources for Vite /@fs/ path traversal requests indicative of CVE-2025-31125 exploitation attempts.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate internal development traffic to Vite dev servers exposed on non-standard ports
- Authorized security assessments and red team exercises
- Monorepo Vite configurations that legitimately serve files outside the default root
- CI/CD automated testing pipelines accessing Vite dev server endpoints
Other platforms for CVE-2025-31125
Testing Methodology
Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Vite /@fs/ Path Traversal to Read /etc/passwd
Expected signal: HTTP GET request to /@fs/etc/passwd and variants logged in web server access logs; Node.js process accessing /etc/passwd on the file system; network connection from test host to port 5173
- Test 2Vite Dev Server Environment File Extraction
Expected signal: HTTP requests to /@fs/ with absolute paths to .env files; file system read events on .env and config files; response body containing environment variable content if successful
- Test 3Automated CVE-2025-31125 Exploitation Scan
Expected signal: Rapid sequential HTTP GET requests to /@fs/ endpoint with multiple sensitive path targets; consistent source IP across all requests; mix of 200 and 403 response codes; elevated request rate to Vite dev server port
Unlock Pro Content
Get the full detection package for CVE-2025-31125 including response playbook, investigation guide, and atomic red team tests.