CVE-2026-47428
KrytyczneCVSS 9.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 29 - wyżej niż 29% wszystkich znanych CVE
Streszczenie
Podatność w Vitest w trybie przeglądarkowym pozwala na wstrzyknięcie kodu JavaScript poprzez parametr zapytania otelCarrier w ścieżce /__vitest_test__/. Atakujący może wykorzystać spreparowany adres URL do wykonania dowolnego kodu w kontekście serwera Vitest i odzyskać token API VITEST_API_TOKEN.
Ocena ryzyka
Ryzyko polega na możliwości przejęcia tokena API przez atakującego, co umożliwia nieautoryzowane wywołania API w imieniu serwera Vitest, potencjalnie prowadząc do naruszenia integralności testów lub wycieku danych.
Rekomendacja
Należy niezwłocznie zaktualizować Vitest do wersji 4.1.6 lub 5.0.0-beta.3, które zawierają poprawkę eliminującą podatność.
Inne podatności w Vitest
Zobacz wszystkie- CVE-2026-73653Krytyczne
Vitest w trybie przeglądarki (Browser Mode) przed wersjami 3.2.7, 4.1.10 i 5.0.0-beta.6 nie egzekwuje uprawnień zapisu (allowWrite) ani nie ogranicza ścieżek do katalogu projektu dla komend takich jak upload, takeScreenshot, screenshotMatcher, stopChunkTrace, deleteTracing i annotateTraces. Klient mający dostęp do API trybu przeglądarki może odczytać dowolne pliki lokalne, tworzyć lub nadpisywać pliki obrazów i śladów, a także usuwać pliki dostępne dla procesu Vitest, nawet gdy allowWrite jest ustawione na false. Problem został naprawiony w wersjach 3.2.7, 4.1.10 i 5.0.0-beta.6.
- CVE-2026-53633Krytyczne
Podatność w Vitest w trybie przeglądarki (Browser Mode) pozwala zdalnemu atakującemu na ominięcie mechanizmów kontroli dostępu i wykonanie dowolnego kodu Node.js. Problem dotyczy interfejsu cdp(), który nie weryfikuje uprawnień allowWrite ani allowExec, umożliwiając manipulację plikiem konfiguracyjnym vite.config.ts.
- CVE-2026-47429Krytyczne
Podatność w frameworku testowym Vitest na Windows pozwala na odczyt plików poza projektem przez path traversal w ścieżce /__vitest_attachment__ oraz na zdalne wykonanie kodu przez funkcje API saveTestFile i rerun. Problem został naprawiony w wersjach 3.2.5 i 4.1.0.
- CVE-2026-84373Średnie
Vitest (framework testowy oparty na Vite) w wersjach od 2.1.0 do 4.1.11 oraz 5.0.0-rc.2 zawiera podatność w publicznych eksportach mockerPlugin i interceptorPlugin, które rejestrują procedurę vitest:interceptor:register na nieuwierzytelnionym WebSocket HMR Vite bez walidacji celów przekierowania względem listy dozwolonych plików. Zdalny klient, który może dotrzeć do wystawionego serwera deweloperskiego, może przesłać adres URL z zachowaniem segmentów .., co powoduje rozwiązanie ścieżki poza katalogiem projektu. Podatność umożliwia ujawnienie lokalnych plików czytelnych przez proces serwera deweloperskiego. Problem naprawiono w wersjach 4.1.11 i 5.0.0-rc.2.
Oryginalny opis (angielski, źródło NVD)
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 /__vitest_test__/ 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 VITEST_API_TOKEN for authenticated API calls. This issue is fixed in versions 4.1.6 and 5.0.0-beta.3.

