Detect CVE-2026-53633: Vitest Browser Mode API RCE via CDP Proxy and Config Overwrite in CrowdStrike LogScale
CVE-2026-53633 is a critical (CVSS 9.8) remote code execution vulnerability in @vitest/browser and vite-plus packages. The browser mode API is exposed without adequate authorization controls (CWE-749, CWE-862), allowing unauthenticated attackers to proxy Chrome DevTools Protocol (CDP) commands and overwrite configuration files. This can lead to arbitrary code execution on the host running Vitest in browser mode. Affected versions include @vitest/browser >= 3.0.0 <= 3.2.4, >= 4.0.0 <= 4.1.7, >= 5.0.0-beta.0 <= 5.0.0-beta.3, and vite-plus <= 0.1.23. A public PoC exists.
MITRE ATT&CK
LogScale Detection Query
#event_simpleName=NetworkConnectIP4 OR #event_simpleName=NetworkReceiveAcceptIP4
| LocalPort in (51204, 51205, 5173, 5174, 4173) OR RemotePort in (51204, 51205, 5173, 5174, 4173)
| RemoteAddressIP4 != "127.0.0.1" AND RemoteAddressIP4 != "::1"
| NOT cidrmatch("10.0.0.0/8", RemoteAddressIP4)
| NOT cidrmatch("172.16.0.0/12", RemoteAddressIP4)
| NOT cidrmatch("192.168.0.0/16", RemoteAddressIP4)
| join type=inner
[
#event_simpleName=ProcessRollup2
| ImageFileName in ("/usr/bin/node", "/usr/local/bin/node", "node.exe", "node")
| CommandLine contains "vitest" OR CommandLine contains "@vitest/browser"
]
field=[aid, TargetProcessId]
with [aid, ContextProcessId]
| rename RemoteAddressIP4 AS external_ip, LocalPort AS vitest_port
| table _time, aid, ComputerName, external_ip, vitest_port, ImageFileName, CommandLine CrowdStrike CQL query correlating network connections to Vitest ports from external IPs with Node.js processes spawned with Vitest arguments, identifying active CVE-2026-53633 attack surface exposure.
Data Sources
Required Tables
False Positives & Tuning
- Developer machines with Vitest running for local testing where the developer is accessing from a non-RFC1918 IP such as an IPv6 address
- Container orchestration environments where pod IPs fall outside standard private ranges
- Remote developer workstations accessing shared Vitest test servers over non-private subnets
Other platforms for CVE-2026-53633
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 1Vitest Browser Mode CDP Discovery via /json Endpoint
Expected signal: HTTP GET requests to /json and /__vitest_api__/ on ports 51204 or 5173 from an external source IP visible in web server or proxy logs
- Test 2CDP Runtime.evaluate Arbitrary JavaScript Execution via Vitest Browser API
Expected signal: WebSocket upgrade request to /devtools/page/<id> followed by CDP Runtime.evaluate method in request payload visible in network capture
- Test 3Vitest Config File Overwrite via Exposed API
Expected signal: HTTP POST to /__vitest_api__ with writeFile method in request body; filesystem audit log showing vitest.config.ts modification timestamp updated outside normal developer hours
Unlock Pro Content
Get the full detection package for CVE-2026-53633 including response playbook, investigation guide, and atomic red team tests.