CRITICAL🇬🇧 English

CVE-2026-53633

Vitest Browser Mode: niekontrolowany dostęp do CDP umożliwia RCE

CVSS 9.8v3.1pub. 2026-07-14upd. 2026-07-29

Vitest w trybie Browser Mode udostępniał API CDP (Chrome DevTools Protocol) bez weryfikacji uprawnień zapisu i wykonania, co pozwalało zdalnemu atakującemu na wykonanie dowolnego kodu Node.js. Podatność otrzymała ocenę CVSS 9.8 i dotyczy popularnego frameworka testowego opartego na Vite.

Pokaż oryginał (EN)

Vitest is a testing framework powered by Vite. From 3.0.0 until 3.2.5, 4.1.8, and 5.0.0-beta.4, Vitest Browser Mode exposed a cdp() API that forwarded raw Chrome DevTools Protocol methods without being gated by allowWrite or allowExec, allowing a remote client with exposed browser API metadata to use CDP Page.setDownloadBehavior and Runtime.evaluate to overwrite vite.config.ts and execute attacker-controlled Node.js code. This issue is fixed in versions 3.2.5, 4.1.8, and 5.0.0-beta.

🤖 Analiza AI
Jak działa

W wersjach od 3.0.0 do 3.2.4, 4.1.7 oraz 5.0.0-beta.3 funkcja cdp() w trybie Browser Mode przekazywała surowe metody Chrome DevTools Protocol bez sprawdzania flag allowWrite ani allowExec. Zdalny klient mający dostęp do eksponowanego API przeglądarki mógł wywołać metodę CDP Page.setDownloadBehavior w celu zapisu pliku oraz Runtime.evaluate w celu wykonania kodu JavaScript po stronie Node.js. Dzięki temu atakujący był w stanie nadpisać plik konfiguracyjny vite.config.ts i wprowadzić do środowiska wykonawczego własny, złośliwy kod Node.js.

Skutki

Atakujący może uzyskać pełną kontrolę nad środowiskiem wykonawczym Node.js, co obejmuje odczyt i modyfikację danych (C:H, I:H) oraz potencjalne zakłócenie dostępności systemu (A:H). Skutkiem jest pełne RCE po stronie serwera.

Mitygacja

Należy zaktualizować Vitest do wersji 3.2.5, 4.1.8 lub 5.0.0-beta.4 (albo nowszych), w których wywołania CDP są objęte kontrolą uprawnień allowWrite i allowExec. Patche dostępne są w repozytorium projektu vitest-dev/vitest.

Kogo dotyczy

Vitest w wersjach od 3.0.0 do 3.2.4, wersja 4.x do 4.1.7 oraz 5.0.0-beta.3 i wcześniejsze — przy włączonym trybie Browser Mode z eksponowanym API przeglądarki.

Uwagi

Podatność dotyczy wyłącznie środowisk, w których Vitest uruchomiony jest w trybie Browser Mode z publicznie dostępnym API przeglądarki — typowo środowisk deweloperskich i CI/CD. Produkcyjne środowiska uruchomieniowe bez trybu Browser Mode nie są bezpośrednio narażone.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje