Detect CVE-2026-47429: Vitest UI Server Arbitrary File Read and Execution in Google Chronicle
CVE-2026-47429 is a critical missing authorization vulnerability (CWE-862, CVSS 9.8) in the Vitest UI server. When the Vitest UI server is listening, unauthenticated remote attackers can read arbitrary files from the filesystem and execute arbitrary code. Affected versions include Vitest < 3.2.6 and >= 4.0.0, < 4.1.0. A public proof-of-concept exists. Exploitation typically involves sending crafted WebSocket or HTTP requests to the Vitest UI server's RPC endpoint to traverse the filesystem or trigger code execution via the browser plugin's file system command handlers.
MITRE ATT&CK
YARA-L Detection Query
rule cve_2026_47429_vitest_ui_arbitrary_file_read {
meta:
author = "df00tech Detection Engineering"
description = "Detects CVE-2026-47429 Vitest UI server arbitrary file read and execution"
severity = "CRITICAL"
priority = "HIGH"
reference = "https://github.com/vitest-dev/vitest/security/advisories/GHSA-5xrq-8626-4rwp"
events:
$process.metadata.event_type = "PROCESS_LAUNCH"
$process.principal.process.file.full_path = /node(|\.exe)$/
(
$process.target.process.command_line = /vitest/ and
$process.target.process.command_line = /--ui|ui/
)
$process.principal.hostname = $hostname
$network.metadata.event_type = "NETWORK_CONNECTION"
$network.target.port in (51204, 51205, 5173, 5174, 4173)
not $network.principal.ip in ("127.0.0.1", "::1")
$network.principal.hostname = $hostname
$file.metadata.event_type = "FILE_OPEN"
$file.target.file.full_path = /(\.env$|id_rsa$|id_ed25519$|\.pem$|shadow$|passwd$|credentials|secrets|\.aws)/
$file.principal.hostname = $hostname
condition:
$process and $network and $file
} Chronicle YARA-L 2.0 rule correlating Vitest UI process launch, remote network connection to Vitest ports, and sensitive file access on the same host to detect CVE-2026-47429 exploitation.
Data Sources
Required Tables
False Positives & Tuning
- Authorized developer workstations running vitest --ui with access to project secrets during local development
- Containerized CI environments where internal routing makes connections appear non-loopback
- Security red team exercises explicitly targeting Vitest UI instances in lab environments
- Monorepo CI pipelines where Vitest accesses shared credential files across sub-packages
Other platforms for CVE-2026-47429
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 1CVE-2026-47429 - Vitest UI Arbitrary File Read via RPC
Expected signal: Network connection from external IP to port 5173; node process file open event for /etc/passwd; WebSocket upgrade request in proxy logs
- Test 2CVE-2026-47429 - Vitest UI Credential File Exfiltration Simulation
Expected signal: Sequence of file open events for multiple sensitive paths initiated by node process; multiple WebSocket messages to Vitest UI port within short timeframe
- Test 3CVE-2026-47429 - Vitest UI Remote Code Execution via Test Execution
Expected signal: Child process spawned by node with shell command arguments; file creation event at /tmp/vitest-rce-proof.txt; Sysmon Event ID 1 for child process of node.exe/node
References (8)
- https://github.com/vitest-dev/vitest/security/advisories/GHSA-5xrq-8626-4rwp
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/commands/fs.ts#L10-L11
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/plugin.ts#L194-L196
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/browser/src/node/rpc.ts#L115-L121
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/ui/node/index.ts#L77
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/vitest/src/api/setup.ts#L103-L105
- https://github.com/vitest-dev/vitest/blob/eb1abf08573032a532015b999ad3501c5e89e3bb/packages/vitest/src/api/setup.ts#L119-L121
- https://github.com/advisories/GHSA-5xrq-8626-4rwp
Unlock Pro Content
Get the full detection package for CVE-2026-47429 including response playbook, investigation guide, and atomic red team tests.