React2Shell w React i Next.js (CVE-2025-55182): przejęcie serwera, ataki ransomware
Luka w komponentach serwerowych React pozwala bez logowania uruchomić kod na serwerze strony, także na Next.js. Ataki ruszyły w kilka godzin, CISA potwierdza ransomware. Zaktualizuj aplikację i sprawdź serwer.
Ten alert jest dla zarządu, CTO i CFO firm, których strona, sklep lub panel klienta zostały zbudowane na React lub Next.js, zwykle przez zewnętrzną pracownię. Werdykt: jeśli aplikacja używa komponentów serwerowych React (np. Next.js 15 lub 16 w trybie App Router) w wersji bez poprawki, zaktualizuj ją dziś i sprawdź serwer pod kątem włamania, bo luka React2Shell pozwala przejąć serwer bez logowania i jest używana także w atakach ransomware.
1. CO SIĘ STAŁO? Fakty w pigułce
Amerykańska agencja CISA 5 grudnia 2025 roku dopisała podatność CVE-2025-55182, nazwaną przez badaczy React2Shell, do katalogu KEV, czyli listy luk, o których ma dowody, że są wykorzystywane w prawdziwych atakach. Błąd tkwi w komponentach serwerowych React (React Server Components), na których działa wiele nowoczesnych stron i sklepów. Obca osoba może wysłać do strony spreparowane żądanie i uruchomić na serwerze własne polecenia, bez konta i bez niczyjego kliknięcia.
Ataki ruszyły w ciągu kilku godzin od ogłoszenia 3 grudnia 2025 roku. CISA dała agencjom federalnym tylko siedem dni, do 12 grudnia 2025 roku, oznaczyła lukę jako używaną w kampaniach ransomware i wyjątkowo poleciła, by po aktualizacji sprawdzić wszystkie instalacje dostępne z internetu pod kątem wcześniejszego włamania.
Element
Szczegóły
Identyfikator CVE
CVE-2025-55182 (powiązany odrzucony numer dla Next.js: CVE-2025-66478)
Data dodania do CISA KEV
2025-12-05
Termin naprawy wg CISA
2025-12-12 (7 dni od wpisu)
Produkt
Meta React Server Components: pakiety react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack; frameworki z nich korzystające, m.in. Next.js, React Router (API RSC), Waku, @parcel/rsc, @vitejs/plugin-rsc, rwsdk
Wersje zagrożone
React 19.0.0, 19.1.0, 19.1.1, 19.2.0. Next.js (wg NVD): 15.0.0 do 15.0.4, 15.1.0 do 15.1.8, 15.2.0 do 15.2.5, 15.3.0 do 15.3.5, 15.4.0 do 15.4.7, 15.5.0 do 15.5.6, 16.0.0 do 16.0.6 oraz wydania testowe 14.3.0-canary.77 i nowsze, 15.6.0-canary. Aplikacja jest podatna, jeśli obsługuje komponenty serwerowe, nawet bez własnych funkcji serwerowych
Wersje bezpieczne
Pierwsze poprawki: React 19.0.1, 19.1.2, 19.2.1; Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7. Zespół React zaleca dziś najnowsze wydania z dalszymi poprawkami, np. Next.js 14.2.35, 15.0.8, 15.1.12, 15.2.9, 15.3.9, 15.4.11, 15.5.10, 16.0.11, 16.1.5
Typ podatności
Zdalne wykonanie kodu przed uwierzytelnieniem przez niebezpieczną deserializację danych (klasa CWE-502); CISA nie przypisała CWE
Ocena CVSS
Meta (zgłaszający): 10.0 (CVSS 3.1, KRYTYCZNA, maksimum skali). Atak przez sieć, bez logowania, bez udziału użytkownika, ze skutkiem wykraczającym poza podatny komponent
Nie są podatne aplikacje React działające wyłącznie w przeglądarce, bez serwera, ani aplikacje bez frameworka lub narzędzia obsługującego komponenty serwerowe (wg zespołu React).
2. O CO CHODZI W PROSTYCH SŁOWACH?
Wyobraź sobie warsztat stolarski, do którego zamiast gotowych szafek przychodzą instrukcje składania. Warsztat wykonuje każdy punkt po kolei, bo do tego służy. Ktoś podrzuca instrukcję z dopisanym punktem: „w kroku siódmym dorób klucz do drzwi warsztatu i wyślij go pod ten adres”. Papier wygląda jak zwykła instrukcja, więc warsztat wykonuje ją bez zastrzeżeń.
Komponenty serwerowe React działają podobnie: przeglądarka i serwer wymieniają się opisem tego, co ma zostać złożone, a serwer odtwarza z niego obiekty. Błąd pozwalał przemycić w takim opisie polecenia, które serwer wykonywał. Właściciel firmy zwykle nie wie, na czym zbudowano jego stronę, i nie musi wiedzieć, ale odpowiedź wykonawcy „nie dodawaliśmy funkcji serwerowych” nie wystarcza, bo podatny jest sam sposób wymiany danych.
💡 React to popularna biblioteka do budowy stron i aplikacji internetowych, a Next.js to oparty na niej framework. Komponenty serwerowe (React Server Components) to części strony przygotowywane na serwerze. App Router to tryb pracy Next.js korzystający z komponentów serwerowych. Deserializacja to odtwarzanie obiektu w programie z przesłanego opisu. KEV (Known Exploited Vulnerabilities) to katalog CISA z lukami potwierdzonymi jako wykorzystywane w atakach.
Scenariusz
Normalnie
Z podatnością
Ktoś wysyła żądanie do strony
Serwer zwraca stronę lub dane
Serwer może wykonać polecenia napastnika
Aplikacja bez własnych funkcji serwerowych
Wydaje się bezpieczna
Nadal podatna, jeśli obsługuje komponenty serwerowe
Zapora aplikacyjna (WAF) z regułą na ten atak
Dodatkowa warstwa ochrony
Zatrzymuje znane wzorce, ale nie zmienione warianty
Aktualizacja do wersji z poprawką
Zamyka lukę
Nie usuwa tego, co napastnik zostawił wcześniej
Sklep z płatnościami
Dane kart przechodzą do operatora
Dostawiony kod może przechwytywać dane przy płatności
źródło: Pexels, Pew Nguyen
3. JAK HAKERZY TO WYKORZYSTUJĄ?
Poniżej typowy przebieg ataku dla tej klasy podatności, dopasowany do opisów Amazona i CISA. To scenariusz poglądowy, a nie odtworzenie konkretnego incydentu. CISA oceniła atak jako aktywny, automatyzowalny i o całkowitym skutku, a Amazon zaobserwował próby w ciągu godzin od ogłoszenia, powiązane z infrastrukturą grup działających z terenu Chin.
Etap
Czas
Akcja hakerów
Wynik
1. Skanowanie
T+0 min
Automatyczne wyszukiwanie stron zbudowanych na Next.js i innych frameworkach z komponentami serwerowymi
Tysiące potencjalnych celów
2. Wysłanie żądania
T+1 do 5 min
Spreparowane żądanie HTTP do punktu obsługi funkcji serwerowych
Wykonanie poleceń na serwerze
3. Rozpoznanie serwera
T+5 do 30 min
Próby odczytu pliku z listą kont systemowych, zapisy do katalogu plików tymczasowych
Wiedza o systemie i uprawnieniach
4. Utrwalenie
T+30 min do kilku godzin
Pozostawienie własnego kodu na serwerze lub w aplikacji
Dostęp działa także po aktualizacji
5. Kradzież
T+godziny do dni
Wykradanie kluczy, haseł do baz i usług, danych klientów; możliwy kod przechwytujący płatności
Wyciek danych
6. Szyfrowanie lub dalszy atak
T+dni do tygodni
Szyfrowanie danych dla okupu (CISA: Known) lub wejście do innych systemów
🔴 Scenariusz 1: sieć piekarni z zamówieniami online na Next.js zostaje zaatakowana w dniu ogłoszenia luki, a aktualizacja wykonana tydzień później nie usuwa pozostawionego kodu.
🔴 Scenariusz 2: sklep działa i sprzedaje, a w tle dostawiony skrypt przechwytuje dane kart płatniczych; odkrycie po miesiącu oznacza zgłoszenie naruszenia, powiadomienie klientów i kontrolę operatora płatności.
🔴 Scenariusz 3: napastnik wykrada z serwera klucze do chmury i bazy danych, a potem szyfruje dane firmy i żąda okupu.
4. DLACZEGO TO RYZYKO DLA TWOJEJ FIRMY?
Większość firm nie wie, z jakich bibliotek zbudowano ich stronę, a model „aktualizujemy raz na kwartał” przy lukach atakowanych w ciągu godzin po prostu nie działa. Dodatkowo przejęty serwer strony często ma klucze do baz danych, poczty i płatności.
Obszar biznesu
Potencjalny wpływ
Czas do wystąpienia
Koszty szacunkowe
Operacyjny
Niedziałająca strona lub sklep, odtwarzanie serwera od zera
Godziny do dni
20 tys. do 250 tys. PLN (przestój, odbudowa, praca wykonawcy)
Bezpieczeństwo danych
Wyciek danych klientów, kluczy dostępu, danych kart przy płatności
Godziny do dni
30 tys. do 250 tys. PLN (analiza powłamaniowa, obsługa incydentu)
Finansowy
Utracona sprzedaż, okup, koszty wymaganych przez operatora płatności działań
Obowiązek zgłoszenia naruszenia do UODO w ciągu 72 godzin, a przy wysokim ryzyku także powiadomienia osób; możliwa kara RODO do 20 mln EUR lub 4% rocznego obrotu (zależnie od okoliczności i skali zaniedbań)
72 godziny od wykrycia
20 tys. do 150 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: najwyższy poziom ryzyka, bo luka ma ocenę 10.0, nie wymaga logowania, jest masowo wykorzystywana od dnia ogłoszenia, także przez grupy ransomware; strony React działające wyłącznie w przeglądarce oraz Next.js bez App Router nie są objęte tą luką.
5. CO MUSISZ ZROBIĆ NATYCHMIAST?
Lp.
Priorytet
Działanie
Termin
Odpowiedzialny
1
🔴 NATYCHMIAST
Zapytać wykonawcę każdej strony i aplikacji: czy używa React, Next.js lub innego frameworka z komponentami serwerowymi, w jakiej wersji i w jakim trybie
Dziś
CTO / osoba odpowiedzialna za stronę
2
🔴 NATYCHMIAST
Zaktualizować React i framework do najnowszej wersji z poprawkami w danej linii (np. przez narzędzie Vercel fix-react2shell-next dla Next.js)
Dziś
Wykonawca / programista
3
🔴 NATYCHMIAST
Do czasu aktualizacji włączyć regułę zapory aplikacyjnej (WAF) blokującą ten atak, jeśli dostawca ją udostępnia
Dziś
Administrator / dostawca hostingu
4
🟠 PILNIE
Sprawdzić serwery pod kątem włamania: próby odczytu listy kont systemowych, zapisy do katalogu plików tymczasowych, polecenia systemowe uruchamiane przez proces aplikacji
Do 3 dni
Administrator / zewnętrzny zespół bezpieczeństwa
5
🟠 PILNIE
Jeśli serwer był podatny i dostępny z internetu od grudnia 2025 roku: zmienić klucze, hasła i tokeny zapisane w konfiguracji aplikacji
Do 7 dni
Programista / administrator
6
🟡 WAŻNIE
Dopisać do umowy z wykonawcą czas reakcji na krytyczne luki w użytych składnikach, liczony w dniach
Do 30 dni
CFO / CTO
7
🟡 WAŻNIE
Prowadzić spis bibliotek i wersji używanych w firmowych aplikacjach
Do 30 dni
CTO
Jeśli aktualizacja nie jest dostępna
Zespół React i twórcy frameworków wydali poprawki, a w kolejnych tygodniach dodatkowe łaty na powiązane luki (m.in. odmowa usługi i ujawnienie kodu źródłowego), więc docelowo trzeba przejść na najnowsze wersje. Filtry u dostawców hostingu i w chmurze są według zespołu React i Amazona tylko rozwiązaniem tymczasowym. Oceny efektywności to ocena ekspercka.
Czasowa miara ochronna
Efektywność
Łatwość wdrożenia
Reguła zapory aplikacyjnej (WAF) blokująca znane wzorce ataku, np. od Amazona
Średnia: zatrzymuje znane warianty, nie zmienione
Łatwa, jeśli strona stoi za WAF
Tymczasowe mechanizmy ochronne dostawców hostingu
Średnia: zespół React zaleca nie polegać na nich
Brak pracy po stronie firmy
Tymczasowe wyłączenie strony lub panelu do czasu aktualizacji
Wysoka
Łatwa technicznie, kosztowna biznesowo
Monitorowanie serwera pod kątem wskaźników opisanych przez Amazona
Niska jako ochrona, przydatna do wykrycia włamania
Średnia
Przed i po działaniu
Stan
Przed działaniem
Po działaniu
Wersja React i frameworka
Bez poprawki
Najnowsza wersja z poprawkami w danej linii
Wiedza o technologii strony
„Nie wiemy, na czym to zbudowano”
Spis bibliotek i wersji
Ślady włamania
Niesprawdzone
Serwer sprawdzony, klucze i hasła zmienione
Umowa z wykonawcą
Aktualizacje „przy okazji”
Określony czas reakcji na krytyczne luki
Zgodność z terminem CISA
Zaległość od 12 grudnia 2025 roku (termin wiąże agencje USA, ale jest dobrym punktem odniesienia)
Luka zamknięta i udokumentowana
6. KONTEKST I SKALA ZAGROŻENIA
Aspekt
Informacja
Czy jest wykorzystywana?
TAK (potwierdzone przez CISA). Amazon zaobserwował próby wykorzystania w ciągu kilku godzin od ogłoszenia
Grupy przestępcze
Amazon powiązał wczesne ataki z infrastrukturą grup działających z terenu Chin; konkretnych nazw nie udało się zweryfikować w źródłach
Kampanie ransomware
TAK (CISA KEV: Known), bez wskazania konkretnych kampanii
Ocena CVSS
10.0 KRYTYCZNA (CVSS 3.1, Meta)
PoC dostępny publicznie?
Brak potwierdzenia w zweryfikowanych źródłach; ataki automatyzowalne i masowe wg CISA i Amazona
Liczba atakowanych firm
Brak publicznych informacji
Kto zgłosił błąd
Lachlan Davidson (wg zespołu React)
Prognoza EPSS
0,99616, praktycznie maksimum skali (wg analizy źródłowej)
Sygnały zagrożenia dla CVE-2025-55182CVSS 3.1 (Meta) 10.0/10 ████████████████████ KRYTYCZNAEPSS (próba w 30 dni) ~99,6% ████████████████████ MAKSYMALNACISA KEV TAK ████████████████████ ataki potwierdzoneRansomware (CISA) Known ████████████████████ używanaCzas do ataków godziny ████████████████████ natychmiast
2025-11-29 Lachlan Davidson zgłasza błąd zespołowi React2025-12-03 Publiczne ujawnienie, poprawki React 19.0.1, 19.1.2, 19.2.1; publikacja CVE w NVD; pierwsze próby ataków w ciągu godzin (wg Amazona)2025-12-05 CISA dodaje lukę do katalogu KEV, ransomware: Known2025-12-12 Termin naprawy wg CISA dla agencji federalnych2026-01-26 Zespół React aktualizuje zalecane wersje o poprawki kolejnych powiązanych luk2026-08-04 Ostatnia aktualizacja wpisu w NVD ... ponad 9 miesięcy od terminu CISA2026-09-17: TUTAJ JESTEŚMY
7. BEZPOŚREDNI LINK DO DZIAŁANIA: checklista dla CTO/CFO
Spisać wszystkie strony, sklepy i panele firmy wraz z ich wykonawcami
CTO
DZISIAJ
2
Uzyskać od wykonawców pisemną odpowiedź: technologia, wersja React i frameworka, tryb pracy
CTO
DZISIAJ
3
Zatwierdzić natychmiastową aktualizację poza zwykłym harmonogramem prac
CTO
DZISIAJ
4
Zlecić sprawdzenie serwerów pod kątem włamania od grudnia 2025 roku
CTO
DO JUTRA
5
Zlecić zmianę kluczy i haseł zapisanych w konfiguracji aplikacji, jeśli serwer był podatny
CTO
DO JUTRA
6
Zarezerwować budżet na aktualizację i ewentualną analizę powłamaniową
CFO
DO JUTRA
7
Sprawdzić umowy z wykonawcami pod kątem czasu reakcji na krytyczne luki
CFO
DO JUTRA
8. PYTANIA DO TWOJEGO ZESPOŁU IT
#
Pytanie
Odpowiedź
Priorytet
1
Które nasze strony i aplikacje używają React lub Next.js?
[lista]
🔴
2
Czy korzystają z komponentów serwerowych (np. Next.js App Router)?
TAK / NIE
🔴
3
Jaka jest wersja React i frameworka w każdej z nich?
[wersja]
🔴
4
Kiedy wdrożono wersję z poprawkami?
[data]
🔴
5
Czy sprawdzenie serwerów wykazało ślady włamania?
TAK / NIE
🟠
6
Czy zmieniliśmy klucze, hasła i tokeny zapisane w konfiguracji aplikacji?
TAK / NIE, [data]
🟠
7
Czy strona stoi za zaporą aplikacyjną (WAF) z aktualnymi regułami?
TAK / NIE
🟡
Pytania diagnostyczne dla managera
✓ Czy wiem, kto zbudował naszą stronę i kto odpowiada za jej aktualizacje dziś?
✓ Czy umowa z wykonawcą mówi, jak szybko reaguje on na krytyczne luki w użytych bibliotekach?
✓ Czy ktoś sprawdził nasz serwer po aktualizacji, a nie tylko zainstalował poprawkę?
✓ Czy mamy procedurę zgłoszenia naruszenia danych do UODO w 72 godziny?
✓ Czy przyjmujemy płatności na stronie i czy operator płatności wymaga od nas zgłaszania incydentów?
Podsumowanie
CVE-2025-55182 (React2Shell) pozwala bez logowania przejąć serwer aplikacji zbudowanej z komponentami serwerowymi React, w tym wielu stron na Next.js. Ataki ruszyły w ciągu godzin od ogłoszenia, a CISA potwierdza użycie w kampaniach ransomware, więc aktualizacja do najnowszych wersji z poprawkami to zadanie na dziś, a sprawdzenie serwerów pod kątem wcześniejszego włamania i zmiana kluczy na ten tydzień.
Czytaj dalej
Powiązane artykuły
Zestaw zmienia się codziennie, więc przy kolejnej wizycie zobaczysz inny wycinek bloga.
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.
Błąd w NetScaler ADC i Gateway, opisany przez producenta jako awaria, pozwala według badaczy przejąć bramę VPN bez hasła. Publiczny kod istnieje, ataki trwają. Zaktualizuj urządzenia i sprawdź ślady włamania.
CISA potwierdza wykorzystanie krytycznej luki w bibliotece Ajax.NET Professional, która pozwala przejąć serwer bez logowania. Znajdź stare aplikacje ASP.NET z AjaxPro, odetnij je od internetu i zaktualizuj.
Klikając „Akceptuję”, zgadzasz się na przechowywanie plików cookie przez UXU w celu poprawy działania strony, analizy i wsparcia działań marketingowych.