
Wprowadzenie do problemu / definicja luki
Pod koniec grudnia 2025 r. zaobserwowano, iż botnet RondoDox aktywnie wykorzystuje krytyczną podatność React2Shell (CVE-2025-55182) do przejmowania podatnych serwerów Next.js i instalowania na nich malware (m.in. komponentów botnetu oraz koparek kryptowalut).
React2Shell to nieautoryzowane zdalne wykonanie kodu (RCE) w ekosystemie React Server Components (RSC) i protokole “Flight”. W praktyce oznacza to, iż pojedyncze, odpowiednio spreparowane żądanie HTTP może doprowadzić do wykonania kodu po stronie serwera w domyślnych konfiguracjach popularnych wdrożeń.
W skrócie
- Kto atakuje: botnet RondoDox (kampania o charakterze masowym, automatyzowanym).
- Co jest celem: publicznie dostępne, podatne instancje Next.js implementujące RSC (szczególnie ścieżki związane z App Router / Server Actions).
- Co jest wykorzystywane: React2Shell – CVE-2025-55182 (RCE bez uwierzytelnienia).
- Po co: instalacja coinminera, loadera/health-checkera i wariantu Mirai; utrzymanie się na hoście m.in. przez modyfikacje /etc/crontab i agresywne “czyszczenie” konkurencyjnych procesów.
- Skala ryzyka: Shadowserver raportował (stan na 30 grudnia 2025) ponad 94 tys. wystawionych w Internecie zasobów podatnych na React2Shell.
Kontekst / historia / powiązania
RondoDox został wcześniej opisany jako botnet intensywnie “polujący” na n-day (znane już luki, często w wielu technologiach jednocześnie). W grudniowej odsłonie kampanii widać jednak wyraźny zwrot w stronę Next.js / React RSC.
CloudSEK, analizując logi C2 obejmujące marzec–grudzień 2025, wyróżnia trzy fazy aktywności: od rozpoznania i testów, przez automatyzację ataków na aplikacje webowe, po masową rekrutację botów (IoT i serwery). W grudniu 2025 “dominującym wektorem” stało się wykorzystywanie podatności Next.js/React2Shell.
Analiza techniczna / szczegóły luki
1) Co dokładnie psuje React2Shell?
Według analiz Wiz, rdzeń problemu dotyczy obsługi ładunków w React Server Components “Flight” i ma charakter niebezpiecznej deserializacji / błędu logicznego walidacji, co pozwala atakującemu wpłynąć na wykonanie kodu po stronie serwera. najważniejsze jest to, iż wektor jest zdalny i bez uwierzytelnienia, a do ataku wystarcza pojedyncze żądanie HTTP.
Wercel podkreśla, iż podatność dotyka React/Next.js i wymaga natychmiastowego działania, a najlepszą (w praktyce jedyną kompletną) metodą jest upgrade do wersji naprawionych.
2) Jak RondoDox operacjonalizuje exploit (bez “przepisu”)
CloudSEK opisuje dwa etapy:
- Wave 1 – skanowanie (8–16 grudnia 2025): identyfikacja podatnych serwerów poprzez “blind RCE testing” (testowe polecenia i obserwacja zachowania aplikacji).
- Wave 2 – wdrażanie payloadów (od 13 grudnia 2025): zdalne ściąganie i uruchamianie binariów (Linux ELF), ustawianie uprawnień, uruchamianie w tle; wskazane są konkretne ścieżki payloadów i infrastruktura C2.
3) Co jest instalowane na hoście
W kampanii opisano m.in.:
- Coinminer (jeden z payloadów hostowany pod charakterystyczną ścieżką),
- “bolts” – komponent dominacji/persistencji (usuwa konkurencję, egzekwuje whitelistę procesów, utrzymuje się m.in. przez /etc/crontab),
- wariant Mirai.
Praktyczne konsekwencje / ryzyko
- Pełne przejęcie serwera aplikacyjnego (RCE) i uruchamianie dowolnych działań w kontekście procesu webowego.
- Cryptomining i degradacja zasobów (CPU/RAM), ryzyko kosztów chmurowych i awarii usług.
- Trwałość i “dominacja” na hoście – modyfikacje crona, zabijanie procesów nieujętych na liście, usuwanie innych botnetów.
- Rozszerzanie kompromitacji – Wiz raportuje obserwacje poeksploatacyjne obejmujące m.in. zwrot w stronę kradzieży poświadczeń chmurowych i dalszego “monetyzowania” dostępu.
Rekomendacje operacyjne / co zrobić teraz
1) Patch/upgrade – priorytet absolutny
- Wercel wskazuje, iż problem dotyczy m.in. Next.js 15.0.0–16.0.6 i zaleca natychmiastowy upgrade do wersji naprawionych.
- Next.js publikuje listę wersji naprawiających dodatkowe problemy w RSC (m.in. DoS i ekspozycję kodu); choćby jeżeli śledzisz tylko React2Shell, praktycznie oznacza to: wejdź na najnowsze “fixed” dla swojej gałęzi (14.x/15.x/16.x).
- Jeśli utrzymujesz aplikacje Next.js, Vercel wskazuje też narzędzie jednego polecenia: npx fix-react2shell-next (w praktyce pomoc w automatyzacji aktualizacji zależności).
2) Rotacja sekretów, jeżeli byłeś wystawiony w oknie ryzyka
Wercel rekomenduje rotację sekretów (priorytetem te najbardziej krytyczne), jeżeli aplikacja była online i niezałatana w krytycznym okresie po upublicznieniu exploitów.
3) Monitoring i polowanie na oznaki infekcji
- Sprawdzaj modyfikacje /etc/crontab i nietypowe zadania cron (persistencja).
- Poluj na symptomy kopania (wysokie CPU) i procesy “czyszczące” inne procesy co kilkadziesiąt sekund (opisane zachowanie komponentu “bolts”).
4) Blokowanie znanych IOCs / infrastruktury (tam, gdzie to ma sens)
CloudSEK podaje przykładowe elementy infrastruktury C2 oraz charakterystyczne ścieżki payloadów użyte w kampanii. W środowiskach produkcyjnych warto je traktować jako IOC do detekcji i blokad warstwowych (WAF/egress filtering), pamiętając, iż aktorzy gwałtownie rotują infrastrukturę.
5) Twarde praktyki “na przyszłość”
- Minimalizuj ekspozycję endpointów, stosuj zasadę najmniejszych uprawnień dla procesu aplikacji, segmentuj sieć (CloudSEK zwraca uwagę na równoległe fale ataków IoT i sens izolacji urządzeń w dedykowanych VLAN-ach).
Różnice / porównania z innymi przypadkami (jeśli dotyczy)
- Wektor ataku: w przeciwieństwie do klasycznych “n-day” w konkretnych CMS-ach/komponentach, React2Shell uderza w warstwę RSC/Flight i dotyka szerokiego ekosystemu aplikacji React/Next.js, często w domyślnej konfiguracji.
- Cel kampanii: RondoDox łączy motywy typowo “botnetowe” (rekrutacja do DDoS, Mirai, IoT) z monetyzacją serwerów (cryptomining) i “utrzymaniem dominacji” na hostach.
- Ryzyko wtórne: obserwacje Wiz sugerują, iż po RCE rośnie udział działań post-exploitation w kierunku credential harvesting w chmurze – to istotnie podnosi stawkę (od “tylko koparki” do potencjalnego naruszenia środowisk i danych).
Podsumowanie / najważniejsze wnioski
- React2Shell (CVE-2025-55182) to krytyczne, łatwo nadużywalne RCE bez auth w ekosystemie React Server Components.
- Botnet RondoDox aktywnie wykorzystuje lukę do infekowania Next.js, instalując coinminery i komponenty botnetu oraz zapewniając persistencję (cron) i usuwanie konkurencji.
- Priorytetem jest natychmiastowe aktualizowanie do wersji naprawionych oraz działania “damage control”: rotacja sekretów, monitoring persistencji i anomalii, wzmocnienie kontroli ruchu wychodzącego/WAF.
Źródła / bibliografia
- BleepingComputer – „RondoDox botnet exploits React2Shell flaw to breach Next.js servers” (31.12.2025) (BleepingComputer)
- Vercel – React2Shell Security Bulletin (aktualizowane, m.in. 26.12.2025) (Vercel)
- Next.js Blog – Security Update: December 11, 2025 (CVE-2025-55183/55184/67779, impact na Next.js) (Next.js)
- Wiz Blog – „React2Shell (CVE-2025-55182)… Everything You Need to Know” (03.12.2025) (wiz.io)
- CloudSEK – „RondoDoX Botnet Weaponizes React2Shell” (29.12.2025) (cloudsek.com)



