CVE-2023-34092
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 86 - wyżej niż 86% wszystkich znanych CVE
Streszczenie
Vite, narzędzie do tworzenia frontendów, ma lukę, która pozwala na obejście opcji serwera (`server.fs.deny`) przy użyciu podwójnego ukośnika (//). To umożliwia nieautoryzowanym użytkownikom odczyt plików z katalogu głównego aplikacji Vite, w tym domyślnych ustawień `fs.deny`.
Ocena ryzyka
Organizacje, które wystawiają serwer deweloperski Vite na sieć, mogą być narażone na wyciek wrażliwych plików, co może prowadzić do ujawnienia danych konfiguracyjnych i certyfikatów.
Rekomendacja
Zaleca się aktualizację Vite do wersji 4.3.9, 4.2.3, 4.1.5, 4.0.5, 3.2.7 lub 2.9.16, aby usunąć tę podatność. Dodatkowo, należy unikać wystawiania serwera deweloperskiego na publiczną sieć.
Inne podatności w Vite
Zobacz wszystkie- CVE-2026-112947Średnie
Vite w wersjach od 8.2.0 do 8.2.4 oraz 8.3.3 pozwala na zwrócenie do przeglądarki pierwszych 4 bajtów plików spoza ustawienia server.fs poprzez żądanie zawierające parametr ?vite-wasm-instance. Wewnętrzny plugin Wasm usuwa parametr i odczytuje ścieżkę bezpośrednio z dysku, nie stosując kontroli server.fs, a błąd parsowania WebAssembly ujawnia pierwsze 4 bajty pliku.
- CVE-2026-112946Średnie
Vite przed wersjami 6.4.4, 7.3.7, 8.1.6, 8.2.4 i 8.3.3 może zapisać w safeModulePaths adres URL względny wobec katalogu głównego zamiast oczyszczonego identyfikatora modułu. Na dostępnym sieciowo serwerze deweloperskim (nie na Windows) zaimportowany plik projektu, którego URL odpowiada absolutnej ścieżce hosta, może autoryzować późniejsze żądanie odczytu tego pliku hosta, jeśli nie zablokuje go server.fs.deny.
- CVE-2025-31125ŚrednieAktywnie exploitowane
Vite to framework narzędziowy frontendowy dla JavaScript. Vite ujawnia zawartość niedozwolonych plików przy użyciu ?inline&import lub ?raw?import. Podatność dotyczy tylko aplikacji, które jawnie wystawiają serwer deweloperski Vite do sieci (za pomocą opcji --host lub server.host). Podatność naprawiono w wersjach 6.2.4, 6.1.3, 6.0.13, 5.4.16 i 4.5.11.
- CVE-2026-118662Średnie
W Vite od wersji 6.4.4 do 6.4.5 serwer deweloperski może ocenić server.fs.deny przed usunięciem parametrów zapytania loadera, takich jak ?raw, ?import&raw lub ?import&url&inline. Gdy serwer deweloperski jest wystawiony na sieć, a wrażliwy plik znajduje się w server.fs.allow, ale jest dopasowany przez server.fs.deny, nieuwierzytelniony atakujący może dołączyć jedno z tych zapytań i pobrać zabroniony plik.
- CVE-2026-112945Niskie
W Vite przed wersjami 6.4.4, 7.3.7, 8.1.6, 8.2.4 i 8.3.3 aplikacje używające niestandardowego middleware są podatne, gdy przekazują niezmieniony URL żądania przeglądarki do server.transformIndexHtml. getHtmlFilename używa URL żądania z zapytaniem do rozwiązania istniejącego pliku lokalnego, zachowując wiodące ukośniki dostarczone przez atakującego w wygenerowanym URL modułu proxy. Jeśli przekształcony HTML zawiera wbudowany skrypt modułu, a przeglądarka ofiary ładuje spreparowaną stronę serwera deweloperskiego, wiodący podwójny ukośnik powoduje pobranie i wykonanie modułu kontrolowanego przez atakującego.
- CVE-2026-53571Wysokie
Vite to framework narzędziowy dla JavaScript, który przed wersjami 8.0.16, 7.3.5 i 6.4.3 mógł zwracać zawartość plików określonych przez server.fs.deny do przeglądarki na systemie Windows. Problemy z normalizacją ścieżek NTFS ADS pozwalały na nieautoryzowany dostęp do wrażliwych plików.
- CVE-2026-39365Średnie
Vite, framework narzędziowy frontendu dla JavaScript, w wersjach od 6.0.0 do przed 6.4.2, 7.3.2 i 8.0.5, ma podatność w obsłudze żądań .map dla zoptymalizowanych zależności. Serwer deweloperski rozpoznaje ścieżki plików i wywołuje readFile bez ograniczania segmentów ../ w URL, co pozwala ominąć listę dozwolonych server.fs.strict i odczytać pliki .map poza katalogiem projektu, jeśli mogą być sparsowane jako poprawny JSON mapy źródłowej.
- CVE-2026-39364Wysokie
Vite (framework frontendowy dla JavaScript) w wersjach od 7.1.0 do przed 7.3.2 oraz 8.0.5 pozwala na ominięcie ograniczeń server.fs.deny. Pliki takie jak .env czy *.crt mogą być pobrane z kodem odpowiedzi HTTP 200 po dodaniu parametrów zapytania ?raw, ?import&raw lub ?import&url&inline.
- CVE-2026-39363Wysokie
Podatność w Vite (framework narzędziowy dla JavaScript) w wersjach od 6.0.0 do przed 6.4.2, 7.3.2 i 8.0.5 umożliwia atakującemu, który może połączyć się z WebSocket serwera deweloperskiego Vite bez nagłówka Origin, wywołanie fetchModule przez zdarzenie WebSocket vite:invoke i odczytanie dowolnych plików na serwerze jako ciągu JavaScript. Kontrola dostępu z żądań HTTP nie jest stosowana do tego kanału WebSocket.
- CVE-2025-62522Średnie
Vite to framework narzędziowy frontendowy dla JavaScriptu. W wersjach od 2.9.18 do przed 3.0.0, od 3.2.9 do przed 4.0.0, od 4.5.3 do przed 5.0.0, od 5.2.6 do przed 5.4.21, od 6.0.0 do przed 6.4.1, od 7.0.0 do przed 7.0.8 oraz od 7.1.0 do przed 7.1.11 pliki zabronione przez server.fs.deny były wysyłane, jeśli URL kończył się znakiem \, gdy serwer deweloperski działał w systemie Windows. Problem dotyczył tylko aplikacji, które jawnie wystawiały serwer deweloperski Vite do sieci i działały w systemie Windows.
Oryginalny opis (angielski, źródło NVD)
Vite provides frontend tooling. Prior to versions 2.9.16, 3.2.7, 4.0.5, 4.1.5, 4.2.3, and 4.3.9, Vite Server Options (`server.fs.deny`) can be bypassed using double forward-slash (//) allows any unauthenticated user to read file from the Vite root-path of the application including the default `fs.deny` settings (`['.env', '.env.*', '*.{crt,pem}']`). Only users explicitly exposing the Vite dev server to the network (using `--host` or `server.host` config option) are affected, and only files in the immediate Vite project root folder could be exposed. This issue is fixed in [email protected], [email protected], [email protected], [email protected], [email protected], and [email protected].
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

