CVE-2026-73653
KrytyczneCVSS 9.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 49 - wyżej niż 49% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać dostęp do poufnych danych (odczyt plików) lub naruszyć integralność systemu (modyfikacja/usunięcie plików), co może prowadzić do eskalacji uprawnień lub przerwania działania usług.
Rekomendacja
Zaktualizuj Vitest do wersji 3.2.7, 4.1.10 lub 5.0.0-beta.6 (lub nowszej) i upewnij się, że API trybu przeglądarki nie jest dostępne dla niezaufanych klientów.
Inne podatności w Vitest
Zobacz wszystkie- 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-47428Krytyczne
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.
- 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. Prior to versions 3.2.7, 4.1.10, and 5.0.0-beta.6, Browser Mode provider commands including upload, takeScreenshot, screenshotMatcher, stopChunkTrace, deleteTracing, and annotateTraces accept browser-supplied file paths without enforcing the allowWrite permission gate or confining paths to the project root. A client that can reach the Browser Mode API can read arbitrary local files, create or overwrite image and trace files, or delete files accessible to the Vitest process even when allowWrite is false. This issue is fixed in versions 3.2.7, 4.1.10, and 5.0.0-beta.6.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

