CVE-2026-53633 CrowdStrike LogScale · LogScale

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

Tactic
Initial Access Execution Persistence Privilege Escalation

LogScale Detection Query

CrowdStrike LogScale (LogScale)
cql
#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
critical severity high confidence

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

CrowdStrike Falcon Network EventsCrowdStrike Falcon Process Events

Required Tables

NetworkConnectIP4NetworkReceiveAcceptIP4ProcessRollup2

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.

  1. 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

  2. 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

  3. 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.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections