
Wprowadzenie do problemu / definicja luki
Rejestrowana jako CVE-2025-55182 i znana pod nazwą React2Shell, to krytyczna podatność RCE bez uwierzytelnienia w React Server Components (RSC). Umożliwia ona zdalne wykonanie arbitralnego kodu jednym żądaniem HTTP na serwerach korzystających z RSC (m.in. w aplikacjach Next.js), z maksymalnym wynikiem CVSS 10.0. W ciągu ostatnich dni luka była aktywnie wykorzystywana w łańcuchach ataków — w tym ransomware, gdzie po wejściu do sieci szyfrowanie następowało w mniej niż minutę.
W skrócie
- Co to jest? Pre-auth RCE w protokole „Flight” wykorzystywanym przez React Server Components.
- Kogo dotyczy? Serwerowych implementacji React/RSC i frameworków opartych o RSC (np. Next.js).
- Co się dzieje? Potwierdzono realne wykorzystanie, w tym wejścia do sieci i szybkie wdrożenia ransomware.
- Jak poważne? CVSS 10.0; CISA dodała lukę do katalogu KEV (Known Exploited Vulnerabilities).
- Co robić? Natychmiast aktualizować do wersji z poprawką zgodnie z zaleceniami React/Next.js oraz odciąć ekspozycję RSC na internet; sprawdzić oznaki kompromitacji.
Kontekst / historia / powiązania
Luka została ujawniona i załatana przez zespół React 3 grudnia 2025 r., a w ślad za nią pojawiły się komunikaty Next.js i narzędzia ułatwiające aktualizację. CISA oficjalnie oznaczyła CVE jako wykorzystywaną w atakach, co zwykle wiąże się z wymogami szybkiego łatania w sektorze publicznym USA. Równolegle duzi dostawcy (Microsoft, Google Threat Intelligence) publikują obserwacje dotyczące masowego skanowania i różnorodnych łańcuchów nadużycia.
Analiza techniczna / szczegóły luki
Sednem problemu jest akceptowanie i deserializacja złośliwych struktur w ścieżce przetwarzania RSC przed adekwatną walidacją. Błędna walidacja pozwala atakującemu wstrzyknąć dane, które React uznaje za poprawne, co w praktyce prowadzi do prototype pollution i ostatecznie do zdalnego wykonania kodu w kontekście procesu serwera. W praktyce wystarcza pojedyncze żądanie HTTP z odpowiednio zbudowanym „ładunkiem”. W niektórych opisanych scenariuszach samo posiadanie podatnych pakietów na serwerze bywało warunkiem wystarczającym do nadużycia.
W ramach sprzątania po głównej luce odnotowano także kolejne problemy w tym samym obszarze (m.in. ujawnienie kodu źródłowego i DoS), a jedna z łatek wymagała poprawienia — jednak to CVE-2025-55182 pozostaje najgroźniejsza z punktu widzenia RCE.
Praktyczne konsekwencje / ryzyko
- Initial access: atakujący może przejąć serwer aplikacji webowej z uprawnieniami procesu serwera, co często otwiera drogę do ruchu bocznego i eskalacji.
- Ransomware: w potwierdzonych incydentach gang ransomware wykorzystywał React2Shell do wejścia i uruchamiał szyfrowanie w <60 s od uzyskania dostępu.
- Różnorodność TTPs: obserwowano zarówno motywacje finansowe (np. cryptomining), jak i działania grup APT; skala jest globalna.
Rekomendacje operacyjne / co zrobić teraz
- Natychmiastowa aktualizacja
- Zastosuj wersje z poprawką zalecane w React oraz Next.js (postępuj według oficjalnych instrukcji/poradników bezpieczeństwa). jeżeli używasz Next.js App Router, skorzystaj z najnowszych wydań bezpieczeństwa.
- Zastosuj wytyczne CISA (KEV)
- Traktuj systemy jako potencjalnie naruszone, jeżeli były wystawione i podatne; sprawdź oznaki kompromitacji po wdrożeniu poprawek.
- Tymczasowa redukcja powierzchni ataku
- Ogranicz lub zdejmij z Internetu endpointy RSC, włącz WAF/filtry na warstwie aplikacji, monitoruj anomalie w logach (niestandardowe nagłówki/ładunki RSC).
- Threat hunting / DFIR
- Szukaj nietypowych procesów potomnych Node/deno, skryptów dropperów, narzędzi do szyfrowania i znanych wskaźników aktywności (np. masowe wywołania endpointów RSC, nietypowe żądania tuż przed szyfrowaniem). W razie wątpliwości wykonaj przegląd serwera i rotację sekretów.
- Zarządzanie zależnościami
- Upewnij się, iż pipeline’y CI/CD wymuszają wersje z poprawkami; rozważ blokowanie wdrożeń podatnych buildów, tak jak robi to część dostawców usług hostingowych.
Różnice / porównania z innymi przypadkami
W odróżnieniu od typowych błędów SSRF/XSS w aplikacjach JS, React2Shell uderza w warstwę protokołu RSC i wykonanie serwerowe — stąd jednostopniowe RCE. Po ujawnieniu głównej luki gwałtownie „wysypały się” kolejne problemy w tym samym komponencie (DoS, ujawnienia), co jest klasycznym efektem wzmożonego audytu po głośnym CVE.
Podsumowanie / najważniejsze wnioski
- React2Shell to pre-auth RCE o CVSS 10.0 w RSC; jest aktywnie wykorzystywana, również przez grupy wdrażające ransomware.
- Czas reakcji ma krytyczne znaczenie: aktualizacja, odcięcie ekspozycji i hunting pod kątem kompromitacji powinny być wykonane natychmiast.
- Traktuj serwery RSC/Next.js jako wysokiego ryzyka, dopóki nie wymusisz wersji z poprawkami w całym łańcuchu build–deploy.
Źródła / bibliografia
- BleepingComputer: Critical React2Shell flaw exploited in ransomware attacks (17 grudnia 2025). (BleepingComputer)
- React: Critical Security Vulnerability in React Server Components (3 grudnia 2025 — aktualizowane). (React)
- Microsoft Security: Defending against CVE-2025-55182 (React2Shell) (15 grudnia 2025). (Microsoft)
- CISA: CISA Adds One Known Exploited Vulnerability to Catalog / KEV (9 grudnia 2025, aktualizacja). (CISA)
- Google Threat Intelligence: Multiple threat actors exploit React2Shell (ok. 6 grudnia 2025). (Google Cloud)


