
Wprowadzenie do problemu / definicja luki
React2Shell (CVE-2025-55182) to nieautoryzowane zdalne wykonanie kodu (RCE) w React Server Components (RSC), wynikające z błędnej deserializacji ładunków trafiających do endpointów Server Functions. Podatność dotyczy m.in. paczek react-server-dom-webpack, react-server-dom-parcel i react-server-dom-turbopack w gałęziach React 19.0.x/19.1.x/19.2.x i otrzymała CVSS 10.0. Zespół React zaleca natychmiastową aktualizację do wersji naprawionych: 19.0.1, 19.1.2 oraz 19.2.1.
W skrócie
- Co to jest: RCE w RSC przez niebezpieczną deserializację danych dostarczonych w żądaniu HTTP do Server Functions.
- Status: CISA dodała CVE-2025-55182 do katalogu KEV (Known Exploited Vulnerabilities) 5 grudnia 2025 r.; termin dla agencji federalnych USA: 26 grudnia 2025 r.
- Eksploatacja: AWS raportuje szybkie próby i ataki grup „China-nexus” (m.in. Earth Lamia, Jackpot Panda) w ciągu godzin od ujawnienia.
- Skala: Wiz ocenia, iż 39% środowisk chmurowych zawiera instancje React/Next.js w wersjach podatnych.
- Naprawa: React 19.0.1/19.1.2/19.2.1 oraz Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 (canary 15.6.0 częściowo) i downgrade z błędnych kanarków 14.x.
Kontekst / historia / powiązania
Lukę zgłosił 29 listopada 2025 r. badacz Lachlan Davidson w programie Meta; 3 grudnia opublikowano poprawki i poradnik aktualizacji. Następnie Vercel wydał własne zalecenia dla Next.js i wdrożył reguły WAF jako czasową ochronę. 5 grudnia CISA oficjalnie oznaczyła CVE w katalogu KEV, potwierdzając obserwowaną eksploatację w środowiskach produkcyjnych.
Analiza techniczna / szczegóły luki
Istota problemu to deserializacja nieufnych danych (CWE-502) w implementacji protokołu „Flight” dla RSC. Atakujący może przygotować specjalnie sformatowane żądanie HTTP do endpointu Server Function; podczas dekodowania ładunku dochodzi do wykonania kodu po stronie serwera. Podatne są standardowe konfiguracje RSC – choćby jeżeli aplikacja nie definiuje własnych Server Functions, ale wspiera RSC, może być do trafienia.
W wektorze detekcji AWS zwraca uwagę m.in. na charakterystyczne nagłówki i wzorce w treści żądań (np. next-action, rsc-action-id, ciągi $@ oraz "status":"resolved_model"), co pomaga korelować logi i IOC.
Praktyczne konsekwencje / ryzyko
- Pełne RCE na hostach z podatnymi wersjami React/Next.js (RSC).
- Masowe skanowanie i szybka weaponizacja PoC po publikacji – potwierdzone telemetrią AWS i obserwacjami wielu zespołów.
- Ryzyko łańcucha dostaw front-/back-endu: liczne frameworki/bundlery reużywają implementację RSC (Next.js, React Router RSC preview, Waku, wtyczki Vite/Parcel, Redwood SDK).
- Ekspozycja w chmurze: duże rozpowszechnienie Next.js/React w środowiskach produkcyjnych zwiększa powierzchnię ataku.
Rekomendacje operacyjne / co zrobić teraz
- Aktualizacje krytyczne (priorytet najwyższy).
- React RSC: 19.0.1 / 19.1.2 / 19.2.1.
- Next.js (App Router): 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7; jeżeli używasz kanarków 14.3.0-canary.77+, zjedź do stabilnej 14.x.
- Higiena ekspozycji. Ogranicz publiczny dostęp do endpointów RSC/Server Functions (WAF, geofencing, rate limiting), ale nie traktuj WAF jako zastępstwa patcha.
- Detekcja i monitoring.
- Przeglądaj logi pod kątem żądań POST z nagłówkami next-action / rsc-action-id i wzorcami $@, "resolved_model".
- Szukaj nietypowych procesów potomnych Node/React, prób odczytu /etc/passwd, poleceń rozpoznawczych (whoami, id).
- IR i hunting. jeżeli środowisko było narażone, sprawdź: kradzież poświadczeń chmurowych (np. AWS), koparki kryptowalut, web-shelle/sideloadery. Wiz raportuje takie aktywności po udanych exploitach.
- Zgodność/KEV. Organizacje objęte politykami zgodności powiązanymi z CISA KEV powinny odnotować daty Added: 2025-12-05 i Due: 2025-12-26 oraz wykazać działania naprawcze.
Różnice / porównania z innymi przypadkami
- Źródło błędu: logiczna deserializacja w protokole RSC „Flight”, a nie klasyczna injekcja kodu w warstwie aplikacji.
- Dziedziczenie podatności: wiele frameworków/bundlerów jest podatnych wtórnie, bo reużywa implementację RSC – zbliżone do znanych scenariuszy „upstream vuln → downstream frameworks”.
- PoC i eksploatacja: bardzo krótka droga od publikacji poradnika do masowych skanów i faktycznych ataków (telemetria AWS/Wiz), co przypomina tempo weaponizacji znane z luk w popularnych komponentach web.
Podsumowanie / najważniejsze wnioski
- To maksymalnie krytyczna luka (CVSS 10.0) w szeroko stosowanym komponencie serwerowym React; patchuj dziś, a nie „w następnym sprincie”.
- Sama osłona WAF nie wystarczy – aktualizacja jest jedynym trwałym remedium.
- Zaktywizowały się grupy powiązane z Chinami, a skala użycia Next.js/React w chmurze zwiększa ryzyko incydentów i wtórnych nadużyć (kradzież kluczy, kryptomining, web-shelle).
Źródła / bibliografia
- React Team: „Critical Security Vulnerability in React Server Components” (03.12.2025) – opis, wersje naprawione, instrukcje aktualizacji. (React)
- NVD: wpis dla CVE-2025-55182 (aktualizacje 05.12.2025) – opis, CVSS, status w CISA KEV (Added/Due). (NVD)
- AWS Security Blog: „China-nexus cyber threat groups rapidly exploit React2Shell (CVE-2025-55182)” – telemetria ataków, IOC, zalecenia operacyjne. (Amazon Web Services, Inc.)
- Wiz Research: „Critical Vulnerabilities in React and Next.js: everything you need to know” – skala ekspozycji (39%), techniczne tło, obserwacje eksploatacji. (wiz.io)
- Vercel: „Summary of CVE-2025-55182” – lista wersji Next.js z poprawkami i uwagi dot. WAF. (Vercel)


