---
title: "CVE-2026-47428: Vitest browser mode serves unsanitized otelCarrier query parameter as inline script"
url: https://erroneo.us/security/cve/CVE-2026-47428/
description: "CVE-2026-47428 (@vitest/browser (npm)): Vitest is a testing framework powered by Vite. From 4.0.17 until 4.1.6 and 5.0.0-beta.3, Vitest Browser Mode served…"
type: vulnerability-record
section: "Security Digest"
date_published: 2026-07-14
date_modified: 2026-07-15
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2026-47428"
kev: false
cvss: 9.6
epss: 0.00613
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2026-47428: Vitest browser mode serves unsanitized otelCarrier query parameter as inline script

**Signal:** Critical and remotely reachable. No known exploitation yet, but it is network-reachable without credentials. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- Not in CISA KEV , but CISA’s SSVC assessment records a public proof-of-concept, so attack code exists.
- EPSS 0.6% , percentile 49: FIRST’s model estimates a 0.6% chance of exploitation activity in the next 30 days, higher than 49% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Needs a user to click or open something. Phishing makes that realistic, but it is not wormable.
- Only applies if your dependency tree includes @vitest/browser (npm) >= 4.0.17, < 4.1.6, fixed in 4.1.6 ; @vitest/browser (npm) >= 5.0.0-beta.0, < 5.0.0-beta.3, fixed in 5.0.0-beta.3 . Check your lockfile, including transitive dependencies.

## What it is

Vitest is a testing framework powered by Vite. From 4.0.17 until 4.1.6 and 5.0.0-beta.3, Vitest Browser Mode served /vitesttest/ with the otelCarrier query parameter inserted directly into an inline module script, allowing a crafted browser-runner URL to execute arbitrary JavaScript in the Vitest server origin and recover VITESTAPITOKEN for authenticated API calls. This issue is fixed in versions 4.1.6 and 5.0.0-beta.3.

## Affected packages

- npm `@vitest/browser` >= 4.0.17, < 4.1.6 → fixed: 4.1.6
- npm `@vitest/browser` >= 5.0.0-beta.0, < 5.0.0-beta.3 → fixed: 5.0.0-beta.3

## Affected products (CVE record)

- vitest-dev vitest: >= 4.0.17, < 4.1.6, >= 5.0.0-beta.0, < 5.0.0-beta.3

## Severity

- GitHub_M CVSS 3.1: 9.6 `CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H`
- GitHub CVSS 3.1: 9.6 `CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation poc , automatable no , technical impact total .
- FIRST EPSS (model of 2026-10-21): 0.61% probability of exploitation activity in the next 30 days; percentile 49.

## Sources

- [GitHub Advisory GHSA-2h32-95rg-cppp](https://github.com/advisories/GHSA-2h32-95rg-cppp)
- [CVE.org record CVE-2026-47428](https://www.cve.org/CVERecord?id=CVE-2026-47428)
- [NVD entry CVE-2026-47428](https://nvd.nist.gov/vuln/detail/CVE-2026-47428)
- [github.com](https://github.com/vitest-dev/vitest/security/advisories/GHSA-2h32-95rg-cppp)
- [github.com](https://github.com/vitest-dev/vitest/pull/10283)
- [github.com](https://github.com/vitest-dev/vitest/pull/10285)
- [github.com](https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06)
- [github.com](https://github.com/vitest-dev/vitest/commit/3514f9fa135c90e1c35754fc4d27c9cf351faafa)
- [github.com](https://github.com/vitest-dev/vitest/releases/tag/v4.1.6)
- [github.com](https://github.com/vitest-dev/vitest/releases/tag/v5.0.0-beta.3)
- [github.com](https://github.com/vitest-dev/vitest/blob/cba2036a197ec8ed42c35a37db78ef07192202c7/packages/browser/src/client/public/esm-client-injector.js#L41)
- [github.com](https://github.com/vitest-dev/vitest/blob/cba2036a197ec8ed42c35a37db78ef07192202c7/packages/browser/src/node/serverOrchestrator.ts#L48)

---
Source page: https://erroneo.us/security/cve/CVE-2026-47428/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
