
Co znajdziesz w tym artykule?
- 1 Wprowadzenie do problemu / definicja luki
- 2 W skrócie
- 3 Kontekst / historia / powiązania
- 4 Analiza techniczna / szczegóły luki
- 5 Praktyczne konsekwencje / ryzyko
- 6 Rekomendacje operacyjne / co zrobić teraz
- 7 Różnice / porównania z innymi przypadkami
- 8 Podsumowanie / kluczowe wnioski
- 9 Źródła / bibliografia
Wprowadzenie do problemu / definicja luki
React2Shell to nienadzorowana (pre-auth) luka RCE o maksymalnym poziomie krytyczności CVSS 10.0 w React Server Components (RSC). Błąd dotyczy sposobu dekodowania ładunków kierowanych do React Server Functions w protokole Flight, co umożliwia zdalne wykonanie kodu na serwerze przy pomocy pojedynczego, specjalnie sformatowanego żądania HTTP. Poprawki wydano dla gałęzi 19.x (19.0.1, 19.1.2, 19.2.1).
W skrócie
- Status: aktywnie wykorzystywana na szeroką skalę (dodana do CISA KEV).
- Zasięg: aplikacje używające RSC (React 19.x; także projekty oparte na App Router w Next.js).
- Technika ataku: nadużycie deserializacji/parsowania obiektów w endpoincie funkcji serwerowych (Flight).
- Skutki: wdrażanie backdoorów i implantów linuksowych, m.in. KSwapDoor i ZnDoor; kampanie przypisywane wielu aktorom państwowym.
- Działania zalecane: natychmiastowy update do wersji załatanych, blokady WAF, reguły detekcyjne/telemetria, przegląd serwerów RSC pod kątem artefaktów po eksploatacji.
Kontekst / historia / powiązania
Luka została odpowiedzialnie zgłoszona 29 listopada 2025 r., a 3 grudnia 2025 r. zespół React opublikował oficjalny komunikat i poprawki. W kolejnych dniach badacze i dostawcy chmury potwierdzili masowe próby eksploatacji w godzinach od publikacji – w tym przez grupy o powiązaniach z Chinami. CISA dodała CVE do Known Exploited Vulnerabilities (KEV), co potwierdza realne ataki w środowiskach produkcyjnych.
Analiza techniczna / szczegóły luki
- Wektor: publiczny endpoint React Server Functions (część RSC) przyjmujący strumienie/ramki Flight.
- Przyczyna: niebezpieczne parsowanie/„deserializacja” referencji obiektów podczas dekodowania ładunku – możliwe jest wstrzyknięcie konstrukcji, które prowadzą do wykonania arbitralnego kodu po stronie serwera.
- Zasięg wersji: React RSC 19.0.0, 19.1.0, 19.1.1, 19.2.0 (i ekosystemy korzystające z RSC, np. Next.js App Router).
- Naprawa: React 19.0.1 / 19.1.2 / 19.2.1 – zaostrzone dekodowanie i walidacja wejścia po stronie RSC/Flight.
- Identyfikator: CVE-2025-55182 (wpis NVD/CVE).
Powyższe zostało opisane w oficjalnym advisory React i rekordzie CVE/NVD.
Praktyczne konsekwencje / ryzyko
- Backdoory na Linuksa: badacze odnotowali wdrożenia m.in. KSwapDoor oraz ZnDoor jako ładunki post-eksploatacyjne po skutecznym RCE. Celem jest utrzymanie trwałości i zdalna kontrola.
- Wielu aktorów, szybka mobilizacja: telemetryka dostawców (AWS, Google, Unit 42) wskazuje na różnorodnych sprawców, w tym grupy z łańcuchami TTP charakterystycznymi dla aktorów państwowych (Chiny) oraz przestępczość zorganizowaną.
- Skala i łatwość nadużycia: atak jest pre-auth i możliwy w domyślnych konfiguracjach komponentów RSC, co znacząco zwiększa powierzchnię ataku w środowiskach internetowych.
- Obserwacje od Blue Teamów: zespoły broniące raportują również próby wdrażania koparek kryptowalut, tuneli proxy oraz dodatkowych implantów. Microsoft publikuje konkretne wskazówki detekcyjne i mapowanie do MITRE ATT&CK.
Rekomendacje operacyjne / co zrobić teraz
- Patch ASAP: zaktualizuj RSC do 19.0.1 / 19.1.2 / 19.2.1 (oraz odpowiednie wersje frameworków korzystających z RSC). Traktuj jako pożar produkcyjny.
- Hardening i ekspozycja: ogranicz publiczny dostęp do endpointów RSC/Server Functions; wymuś uwierzytelnienie, rate-limit i walidację treści.
- WAF/IDS/EDR: wdroż reguły blokujące znane wzorce żądań Flight/„object reference”; użyj publikowanych sygnatur/analiz od wiodących dostawców (Microsoft/AWS/Google).
- Łańcuch reakcji po incydencie:
- przeszukaj logi HTTP pod kątem podejrzanych ramek Flight i nietypowych kodów odpowiedzi;
- sprawdź procesy potomne serwera RSC (np. nieautoryzowane powłoki,
curl/wget, binaria w/tmp); - IOC/artefakty: nazwy/ścieżki i C2 powiązane z KSwapDoor/ZnDoor lub innymi obserwowanymi implantami;
- jeśli wystąpiła eksfiltracja poświadczeń/tokenów – przeprowadź rotację sekretów i unieważnienie sesji. (mapowanie: ATT&CK T1190/T1059/T1071).
- Zgodność z CISA KEV: jeżeli podlegasz dyrektywom BOD – odnotuj, że CVE znajduje się w KEV; egzekwuj terminy naprawy i weryfikacji.
Różnice / porównania z innymi przypadkami
W odróżnieniu od klasycznych RCE w serwerach HTTP bądź frameworkach backendowych, React2Shell uderza w warstwę „front-end-ową” uruchamianą po stronie serwera (RSC). To nietypowy wektor: przełamanie izolacji RSC umożliwia natychmiastową eskalację do kontekstu serwera aplikacji — podobnie krytyczne w skutkach jak błędy w deserializacji w tradycyjnych frameworkach, ale często mniej monitorowane i szerzej eksponowane po wdrożeniach SPA/SSR. (Wnioski syntetyczne na podstawie advisory i analiz TI.)
Podsumowanie / kluczowe wnioski
- Pre-auth RCE w RSC + CVSS 10.0 = natychmiastowa aktualizacja obowiązkowa.
- Aktywne kampanie z realnym wdrażaniem backdoorów linuksowych (KSwapDoor, ZnDoor) – weryfikuj hosty i szukaj artefaktów poeksploatacyjnych.
- Dostawcy chmurowi i TI potwierdzają masową, wielopodmiotową eksploatację – reaguj jak na incydent o wysokiej pewności.
Źródła / bibliografia
- React Team — Critical Security Vulnerability in React Server Components (3 grudnia 2025). (React)
- CVE/NVD — rekord CVE-2025-55182. (CVE)
- Palo Alto Networks Unit 42 — analiza eksploatacji i TTP (Flight, RSC, kampanie). (Unit 42)
- Microsoft Defender Research — Defending against CVE-2025-55182: wskazówki detekcyjne. (Microsoft)
- The Hacker News — bieżący przegląd kampanii (KSwapDoor, ZnDoor). (The Hacker News)
- AWS / Google Threat Intel — obserwacje szybkiej eksploatacji przez grupy państwowe. (Amazon Web Services, Inc.)