CVE-2026-47428 Microsoft Sentinel · KQL

Detect CVE-2026-47428: Vitest Browser Mode XSS via Unsanitized otelCarrier Query Parameter in Microsoft Sentinel

CVE-2026-47428 is a reflected Cross-Site Scripting (XSS) vulnerability in @vitest/browser versions >= 4.0.17 < 4.1.6 and >= 5.0.0-beta.0 < 5.0.0-beta.3. The browser mode development server serves the otelCarrier query parameter as unsanitized inline script content in esm-client-injector.js and serverOrchestrator.ts, allowing an attacker to inject arbitrary JavaScript into the test runner's browser context. With a CVSS of 9.6 and public PoC available, this poses a critical risk to CI/CD pipelines and developer workstations running Vitest browser mode tests, potentially enabling credential theft, session hijacking, or supply chain compromise.

MITRE ATT&CK

Tactic
Execution Lateral Movement Initial Access

KQL Detection Query

Microsoft Sentinel (KQL)
kusto
union DeviceNetworkEvents, DeviceProcessEvents
| where TimeGenerated >= ago(7d)
| where (
    (ActionType == "NetworkConnectionInitiated" and RemoteUrl contains "otelCarrier" and RemoteUrl matches regex @"otelCarrier=[^&]*[<>"'{}\\(\\)]") 
    or
    (FileName in ("node", "node.exe") and ProcessCommandLine has_any ("vitest", "@vitest/browser") and ProcessCommandLine has "browser")
  )
| extend SuspiciousParam = extract(@"otelCarrier=([^&\s]+)", 1, RemoteUrl)
| where isnotempty(SuspiciousParam) or FileName in ("node", "node.exe")
| project TimeGenerated, DeviceName, AccountName, ActionType, RemoteUrl, SuspiciousParam, ProcessCommandLine, InitiatingProcessFileName
| order by TimeGenerated desc
critical severity medium confidence

Detects network connections containing suspicious otelCarrier query parameters indicative of CVE-2026-47428 XSS exploitation attempts against Vitest browser mode, as well as Vitest browser mode process activity on endpoints.

Data Sources

Microsoft Defender for EndpointMicrosoft SentinelDeviceNetworkEventsDeviceProcessEvents

Required Tables

DeviceNetworkEventsDeviceProcessEvents

False Positives & Tuning

  • Legitimate OpenTelemetry trace context propagation via otelCarrier in production observability pipelines
  • Automated test runners that legitimately invoke Vitest browser mode in CI/CD without malicious parameters
  • Security researchers or red team operators testing for the vulnerability in authorized environments
  • Load balancers or proxies that log query parameters including otelCarrier from non-malicious sources

Other platforms for CVE-2026-47428


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 1CVE-2026-47428 Basic XSS via otelCarrier Parameter

    Expected signal: HTTP request logs showing otelCarrier parameter containing <script> tags; Node.js process spawning on port 5173; outbound network connection to attacker.lab if XSS executes successfully in browser

  2. Test 2CVE-2026-47428 Event Handler XSS Payload Variant

    Expected signal: HTTP requests with onerror, onload event handler patterns in otelCarrier; DNS/network connections to attacker.lab from browser process if XSS executes; browser process network activity on non-standard ports

  3. Test 3CVE-2026-47428 CI/CD Pipeline Exploitation Simulation

    Expected signal: Node.js process with vitest and --browser arguments; child browser process (Chromium/Playwright) spawned from test runner; outbound HTTP connections from browser process to external host; environment variable access logged by audit framework

Unlock Pro Content

Get the full detection package for CVE-2026-47428 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections