Vite (CVE-2025-31125): serwer roboczy programisty ujawnia pliki z hasłami i kluczami
Luka w narzędziu Vite pozwala odczytać dowolne pliki z komputera programisty, gdy serwer roboczy jest wystawiony w sieci. CISA potwierdza ataki. Zapytaj wykonawcę strony o wersję Vite i miejsce przechowywania kluczy.
Ten alert jest dla zarządu, CTO i CFO firm, które mają własny zespół programistów lub zlecają budowę stron i aplikacji agencjom. Werdykt: jeśli w projektach używany jest Vite w wersji starszej niż 6.2.4, 6.1.3, 6.0.13, 5.4.16 lub 4.5.11, a serwer roboczy bywa wystawiany do sieci, zaktualizuj Vite i sprawdź, gdzie leżą klucze produkcyjne, do jutra, bo CISA potwierdza wykorzystywanie tej luki.
1. CO SIĘ STAŁO? Fakty w pigułce
Amerykańska agencja CISA 22 stycznia 2026 roku dopisała podatność CVE-2025-31125 do katalogu KEV, czyli listy luk, o których ma dowody, że są wykorzystywane w prawdziwych atakach. Stało się to prawie dziesięć miesięcy po publikacji luki i wydaniu poprawek.
Vite to popularne narzędzie programistów do budowania stron i aplikacji internetowych. Ma serwer roboczy, który pokazuje podgląd zmian i z założenia blokuje dostęp do plików spoza projektu oraz plików z hasłami. Tę blokadę dało się obejść, dopisując do adresu ?inline&import lub ?raw?import. Skutek: odczyt plików, np. z hasłem do bazy danych czy kluczem do bramki płatności. Luka dotyczy wyłącznie serwerów roboczych jawnie wystawionych do sieci (opcja --host lub server.host).
Termin naprawy wyznaczony przez CISA minął 12 lutego 2026 roku, ponad siedem miesięcy temu.
Element
Szczegóły
Identyfikator CVE
CVE-2025-31125
Data dodania do CISA KEV
2026-01-22
Termin naprawy wg CISA
2026-02-12 (21 dni od wpisu)
Produkt
Vite (vitejs), narzędzie do budowania aplikacji internetowych, serwer roboczy
Wersje zagrożone
Poniżej 4.5.11; 5.0.0 do 5.4.15; 6.0.0 do 6.0.12; 6.1.0 do 6.1.2; 6.2.0 do 6.2.3. Tylko gdy serwer roboczy jest wystawiony do sieci (--host lub server.host)
Wersje bezpieczne
6.2.4, 6.1.3, 6.0.13, 5.4.16, 4.5.11 (wydane 31 marca 2025) i nowsze; najnowsza wersja w npm: 8.3.0 (wrzesień 2026)
Typ podatności
Nieprawidłowa kontrola dostępu i ujawnienie informacji; CWE-284 i CWE-200 (wg GitHub); Red Hat: zewnętrzna kontrola nad ścieżką pliku; NVD: brak klasyfikacji
Ocena CVSS
NVD: 7.5 WYSOKA (CVSS 3.1, atak łatwy, bez udziału użytkownika). GitHub: 5.3 ŚREDNIA (CVSS 3.1, atak trudny, wymagany udział użytkownika). Red Hat: zagrożenie umiarkowane. Skutek wg obu ocen: pełna utrata poufności, bez wpływu na integralność i dostępność
2. O CO CHODZI W PROSTYCH SŁOWACH?
Wyobraź sobie biuro z ochroniarzem, który ma listę osób wpuszczanych do archiwum. Ktoś przychodzi i mówi: „Nie wchodzę do archiwum, tylko odbieram z niego przesyłkę”. Ochroniarz przepuszcza go, bo procedura dotyczyła wchodzenia, a nie odbierania przesyłek. Efekt jest ten sam: obca osoba wychodzi z dokumentami z archiwum.
Tak działała ta luka. Serwer roboczy Vite sprawdzał, czy żądany plik jest na liście zakazanych, ale robił to, zanim przetworzył specjalny dopisek w adresie. Z dopiskiem żądanie przechodziło bokiem. To narzędzie warsztatowe, którego firma nie kupuje, ale programiści często uruchamiają je w sieci biura czy coworkingu, żeby zobaczyć stronę na telefonie albo pokazać ją klientowi.
💡 Serwer roboczy (dev server) to program na komputerze programisty, który na bieżąco pokazuje podgląd budowanej strony. Opcja --host udostępnia ten podgląd innym urządzeniom w sieci. Klucze produkcyjne to hasła i klucze do prawdziwych systemów: bazy danych, bramki płatności, wysyłki maili. Plik .env to typowe miejsce przechowywania takich ustawień w projekcie.
Scenariusz
Normalnie
Z podatnością
Serwer roboczy tylko na komputerze programisty
Nikt z zewnątrz się nie połączy
Luka nie ma znaczenia
Serwer roboczy wystawiony w sieci biura lub coworkingu
Inni widzą tylko podgląd strony
Każdy w tej sieci może odczytać pliki z hasłami
Żądanie pliku z hasłami
Serwer odmawia
Z dopiskiem ?raw?import serwer zwraca zawartość
Wyciek klucza do bramki płatności
Brak
Brak alarmu, koszty widać dopiero przy nieautoryzowanych transakcjach
Klucze produkcyjne tylko na serwerze
Brak ryzyka z komputerów roboczych
Wyciek dotyczy tylko kluczy testowych
źródło: magnific.com
3. JAK HAKERZY TO WYKORZYSTUJĄ?
Poniżej typowy przebieg ataku dla tej klasy podatności. To scenariusz poglądowy, a nie odtworzenie konkretnego incydentu. Atak wymaga, żeby serwer roboczy był osiągalny w sieci, więc zaczyna się od znalezienia takiego serwera (w sieci wspólnej lub wystawionego do internetu). CISA ocenia, że atak nie daje się zautomatyzować na masową skalę.
Etap
Czas
Akcja hakerów
Wynik
1. Rozpoznanie
T+0 min
Wyszukiwanie serwerów roboczych Vite w sieci wspólnej lub w internecie
Lista dostępnych serwerów
2. Odczyt plików
T+kilka minut
Żądania z dopiskiem ?raw?import lub ?inline&import do plików konfiguracyjnych
Zawartość plików z hasłami i kluczami
3. Wybór łupu
T+1 godz.
Wyłuskanie haseł do bazy, kluczy do płatności, poczty, chmury
Dostęp do systemów produkcyjnych
4. Wykorzystanie
T+1 do 7 dni
Logowanie do bazy danych klientów, użycie kluczy API
Kradzież danych lub nadużycia finansowe
5. Skutek
T+tygodnie
Nieautoryzowane transakcje, wysyłka spamu z domeny firmy, wyciek bazy
🔴 Scenariusz 1: programista agencji w coworkingu wystawia podgląd sklepu na tablet, a inny najemca sieci odczytuje plik z kluczem do bramki płatności.
🔴 Scenariusz 2: serwer roboczy uruchomiony w kontenerze na serwerze testowym jest dostępny z internetu, a napastnik pobiera hasło do produkcyjnej bazy danych klientów.
🔴 Scenariusz 3: wykradziony klucz do usługi wysyłki maili służy do rozsyłania phishingu z domeny firmy, która trafia na czarne listy.
4. DLACZEGO TO RYZYKO DLA TWOJEJ FIRMY?
Firma zwykle nie wie, jakich narzędzi używa wykonawca strony. Luka sama niczego nie niszczy, ale ujawnia klucze, które otwierają systemy produkcyjne. Wyciek klucza nie wywołuje żadnego alarmu, a koszt pojawia się później.
Obszar biznesu
Potencjalny wpływ
Czas do wystąpienia
Koszty szacunkowe
Operacyjny
Wymiana wszystkich kluczy i haseł, przerwa w działaniu płatności lub wysyłki
Dni
5 tys. do 40 tys. PLN
Bezpieczeństwo danych
Dostęp do bazy klientów przez wykradzione hasło
Dni od wycieku
20 tys. do 150 tys. PLN (analiza, powiadomienia)
Finansowy
Nieautoryzowane transakcje, rachunki za usługi chmurowe, postępowanie u operatora płatności
Tygodnie
10 tys. do 300 tys. PLN
Reputacyjny
Spam lub phishing z domeny firmy, wyciek danych klientów
Tygodnie do miesięcy
20 tys. do 200 tys. PLN
Prawny
Przy wycieku danych osobowych zgłoszenie do UODO w 72 godziny; możliwa kara RODO do 20 mln EUR lub 4% rocznego obrotu (zależnie od okoliczności); spór z wykonawcą o odpowiedzialność
72 godziny od wykrycia
10 tys. do 100 tys. PLN (prawnicy, obsługa zgłoszeń), bez ewentualnej kary
Kwoty są orientacyjnymi widełkami dla małej i średniej firmy, nie danymi z tego incydentu.
Interpretacja: ryzyko średnie, bo luka wymaga wystawienia serwera roboczego do sieci i dotyczy tylko odczytu plików; rośnie do wysokiego, jeśli na komputerach roboczych leżą klucze produkcyjne, a spada prawie do zera, gdy serwer roboczy nigdy nie jest dostępny z sieci.
5. CO MUSISZ ZROBIĆ NATYCHMIAST?
Lp.
Priorytet
Działanie
Termin
Odpowiedzialny
1
🔴 NATYCHMIAST
Ustalić, które projekty firmy używają Vite i w jakiej wersji
Dziś
Kierownik zespołu programistów / wykonawca
2
🔴 NATYCHMIAST
Sprawdzić, czy serwery robocze są uruchamiane z --host lub server.host, także w kontenerach i na serwerach testowych
Dziś
Programiści
3
🟠 PILNIE
Zaktualizować Vite do wersji z poprawką lub nowszej we wszystkich projektach
Do 3 dni
Programiści
4
🟠 PILNIE
Usunąć klucze produkcyjne z komputerów roboczych i repozytoriów, trzymać je tylko na serwerze produkcyjnym
Do 3 dni
Kierownik zespołu / DevOps
5
🟠 PILNIE
Jeśli serwer roboczy był wystawiony w sieci wspólnej: wymienić klucze i hasła, które leżały w projekcie
Do 7 dni
DevOps
6
🟡 WAŻNIE
Wprowadzić automatyczne sprawdzanie podatnych zależności w projektach (np. przy każdej zmianie kodu)
Do 30 dni
CTO
7
🟡 WAŻNIE
Dopisać do umów z wykonawcami obowiązek aktualizacji narzędzi i rozdzielenia kluczy
Do 30 dni
CTO / CFO
Jeśli aktualizacja nie jest dostępna
Poprawki są dostępne dla wszystkich linii Vite od 31 marca 2025 roku. Aktualizacja narzędzia deweloperskiego zwykle nie wpływa na działającą stronę. Oceny efektywności to ocena ekspercka.
Czasowa miara ochronna
Efektywność
Łatwość wdrożenia
Nieuruchamianie serwera roboczego z --host i bez server.host
Wysoka: luka przestaje mieć znaczenie
Łatwa, ale utrudnia podgląd na telefonie
Podgląd na innych urządzeniach tylko w zaufanej, prywatnej sieci
Średnia
Łatwa
Klucze produkcyjne wyłącznie na serwerze produkcyjnym
Wysoka wobec skutków tej i podobnych luk
Średnia
Blokada dostępu do serwerów testowych z internetu
Wysoka dla serwerów w kontenerach
Średnia
Przed i po działaniu
Stan
Przed działaniem
Po działaniu
Wersja Vite
Z okresu budowy strony, bez poprawki
Aktualna, z poprawką
Serwer roboczy
Czasem dostępny w sieci wspólnej
Tylko lokalnie lub w zaufanej sieci
Klucze produkcyjne
Na laptopach i w projektach
Tylko na serwerze produkcyjnym
Wiedza o zależnościach
Brak
Automatyczne powiadomienia o lukach
Zgodność z terminem CISA
Zaległość od 12 lutego 2026
Luka zamknięta i udokumentowana
6. KONTEKST I SKALA ZAGROŻENIA
Aspekt
Informacja
Czy jest wykorzystywana?
TAK (potwierdzone przez CISA); ataki nieautomatyzowalne na masową skalę, skutek dla składnika całkowity
2025-03-31 Wydanie poprawek Vite i publikacja CVE-2025-31125 ... prawie 10 miesięcy bez potwierdzonych ataków2026-01-22 CISA dodaje lukę do katalogu KEV2026-01-23 CISA ocenia: aktywne wykorzystanie2026-02-12 Termin naprawy wg CISA dla agencji federalnych2026-06-17 Ostatnia aktualizacja wpisu w NVD ... ponad 7 miesięcy od terminu CISA2026-09-17: TUTAJ JESTEŚMY
7. BEZPOŚREDNI LINK DO DZIAŁANIA: checklista dla CTO/CFO
Zapytać wykonawcę strony lub zespół: jakiej wersji Vite używają projekty firmy
CTO
DZISIAJ
2
Zapytać, czy klucze produkcyjne (baza, płatności, poczta) leżą na komputerach roboczych
CTO
DZISIAJ
3
Zapytać, czy serwery robocze bywają wystawiane w sieciach wspólnych lub w internecie
CTO
DZISIAJ
4
Zatwierdzić aktualizację Vite we wszystkich projektach
CTO
DO JUTRA
5
Zlecić wymianę kluczy, jeśli istniało ryzyko ich ujawnienia
CTO
DO JUTRA
6
Sprawdzić w panelu operatora płatności i usług chmurowych nietypowe transakcje i koszty
CFO
DO JUTRA
7
Przejrzeć umowę z wykonawcą pod kątem utrzymania i aktualizacji projektu
CFO
DO JUTRA
8. PYTANIA DO TWOJEGO ZESPOŁU IT
#
Pytanie
Odpowiedź
Priorytet
1
Które nasze projekty używają Vite i w jakiej wersji?
[lista i wersje]
🔴
2
Czy serwer roboczy bywa uruchamiany z --host lub server.host?
TAK / NIE
🔴
3
Czy klucze produkcyjne znajdują się na komputerach programistów lub w repozytorium?
TAK / NIE
🔴
4
Kiedy zaktualizowano Vite do wersji z poprawką?
[data]
🟠
5
Czy któryś serwer testowy z Vite jest dostępny z internetu?
TAK / NIE
🟠
6
Czy mamy automatyczne powiadomienia o lukach w zależnościach projektów?
TAK / NIE
🟡
7
Kiedy ostatnio aktualizowano narzędzia i biblioteki w projekcie strony?
[data]
🟡
Pytania diagnostyczne dla managera
✓ Czy wiem, kto utrzymuje narzędzia, którymi zbudowano naszą stronę lub sklep?
✓ Czy umowa z wykonawcą obejmuje aktualizacje po zakończeniu projektu?
✓ Czy klucze do płatności i bazy danych są znane tylko tym, którzy muszą je znać?
✓ Czy zauważylibyśmy nieautoryzowane użycie naszego klucza do bramki płatności?
✓ Czy przyjmujemy, że stara, naprawiona luka może być nadal groźna?
Podsumowanie
CVE-2025-31125 pozwala odczytać pliki z hasłami i kluczami z serwera roboczego Vite, jeśli programista wystawił go do sieci. Poprawki są dostępne od marca 2025 roku, a CISA potwierdziła ataki w styczniu 2026 roku, co pokazuje, że napastnicy wracają do starych luk. Aktualizacja Vite i trzymanie kluczy produkcyjnych wyłącznie na serwerze zamykają ten i podobne problemy.
Czytaj dalej
Powiązane artykuły
Zestaw zmienia się codziennie, więc przy kolejnej wizycie zobaczysz inny wycinek bloga.
Przepełnienie bufora w FortiOS i FortiSwitchManager pozwala bez hasła uruchomić kod na zaporze. CISA potwierdza ataki, a przestępcy instalują trojana PivotC2. Zaktualizuj FortiOS i sprawdź zapory pod kątem włamania.
Luka w N-able N-central pozwala bez logowania uruchomić kod na serwerze, z którego zarządza się komputerami wielu firm. CISA potwierdza ataki. Zaktualizuj do 2026.3.1.14, odetnij konsolę od internetu i sprawdź konta.
Luka o ocenie 10.0 w SonicWall SMA1000 daje dostęp do funkcji urządzenia bez logowania, a z CVE-2026-83549 pozwala je przejąć. SonicWall i CISA potwierdzają ataki. Zainstaluj hotfix i sprawdź urządzenie.
Klikając „Akceptuję”, zgadzasz się na przechowywanie plików cookie przez UXU w celu poprawy działania strony, analizy i wsparcia działań marketingowych.