
Wprowadzenie do problemu / definicja
React2Shell, oznaczony jako CVE-2025-55182, to krytyczna podatność typu zdalne wykonanie kodu, która dotyczy ekosystemu React Server Components oraz aplikacji budowanych na Next.js. Luka pozwala nieautoryzowanemu atakującemu uruchomić własny kod po stronie serwera przy użyciu odpowiednio spreparowanego żądania HTTP.
Problem przestał mieć wyłącznie charakter teoretyczny. Najnowsze obserwacje wskazują, iż podatność została zautomatyzowana i włączona do szeroko zakrojonej operacji nastawionej na masowe wykradanie sekretów operacyjnych, tokenów oraz poświadczeń z podatnych środowisk.
W skrócie
Badacze bezpieczeństwa zaobserwowali aktywną kampanię wykorzystującą React2Shell do przejmowania hostów obsługujących podatne aplikacje Next.js. Aktywność przypisano klastrowi śledzonemu jako UAT-10608.
Po uzyskaniu wykonania kodu napastnicy uruchamiali zautomatyzowane skrypty rozpoznawcze i kolekcyjne, a następnie przesyłali wykradzione dane do infrastruktury dowodzenia i kontroli opartej na frameworku Nexus Listener. W ciągu 24 godzin potwierdzono skuteczne naruszenie 766 hostów oraz pozyskanie ponad 10 tysięcy plików zawierających między innymi tokeny chmurowe, klucze SSH, sekrety środowiskowe, dane dostępowe do baz danych i poświadczenia do usług deweloperskich.
Kontekst / historia
React2Shell został publicznie ujawniony w grudniu 2025 roku jako luka o maksymalnej ocenie CVSS 10.0. Dotyczy nowoczesnego modelu aplikacyjnego, w którym część logiki i renderowania realizowana jest po stronie serwera, co istotnie zwiększa znaczenie bezpieczeństwa warstwy backendowej w aplikacjach webowych.
Już krótko po ujawnieniu podatności pojawiły się sygnały o aktywnym wykorzystaniu jej w środowiskach produkcyjnych. Obecna kampania pokazuje jednak wyraźny wzrost dojrzałości operacyjnej atakujących. Zamiast pojedynczych incydentów obserwowany jest model przemysłowy: automatyczne skanowanie, masowe exploitowanie, ustandaryzowana ekstrakcja danych oraz centralna agregacja skradzionych materiałów.
Taki sposób działania wskazuje na przejście od oportunistycznego wykorzystywania podatności do skalowalnej operacji ukierunkowanej na dalsze nadużycia, w tym ruch boczny, przejęcia środowisk chmurowych oraz ataki na łańcuch dostaw oprogramowania.
Analiza techniczna
Łańcuch ataku rozpoczyna się od automatycznego wyszukiwania publicznie dostępnych wdrożeń Next.js podatnych na React2Shell. Napastnicy identyfikują cele przy użyciu danych profilujących hosty, publicznych usług indeksujących oraz własnych skanerów.
Następnie do aplikacji wysyłane jest spreparowane żądanie HTTP, które prowadzi do wykonania arbitralnego kodu w procesie Node.js po stronie serwera. Po uzyskaniu dostępu uruchamiany jest wieloetapowy zestaw skryptów służących do szybkiego przeszukania systemu i zebrania materiałów o wysokiej wartości operacyjnej.
- zmienne środowiskowe aplikacji,
- tokeny i klucze API,
- poświadczenia do usług chmurowych,
- klucze prywatne SSH,
- sekrety połączeń z bazami danych,
- tokeny GitHub i innych platform deweloperskich,
- dane kont serwisowych Kubernetes,
- konfiguracje kontenerów Docker,
- historia poleceń powłoki,
- metadane instancji chmurowych,
- lista uruchomionych procesów i argumenty linii poleceń.
Istotnym elementem kampanii jest framework Nexus Listener, pełniący funkcję warstwy kolekcji i prezentacji danych exfiltracyjnych. Zebrane informacje trafiają do infrastruktury C2, gdzie są porządkowane i udostępniane operatorom w uporządkowanym interfejsie webowym.
Z technicznego punktu widzenia nie chodzi wyłącznie o zwykłą kradzież plików. To zautomatyzowane mapowanie relacji zaufania wewnątrz środowiska ofiary. Pozyskane tokeny, sekrety środowiskowe i dane kontenerowe pozwalają odtworzyć zależności między aplikacją, chmurą, pipeline’ami CI/CD oraz systemami tożsamości. W praktyce pojedyncze podatne wdrożenie może stać się punktem wejścia do znacznie szerszego ekosystemu organizacji.
Konsekwencje / ryzyko
Skala ryzyka związanego z tą kampanią jest bardzo wysoka. Atak nie wymaga uwierzytelnienia i może zostać przeprowadzony zdalnie przeciwko publicznie dostępnym aplikacjom. Dodatkowo wykradane dane mają często charakter uprzywilejowany, co pozwala niemal natychmiast rozszerzyć kompromitację na kolejne systemy.
- przejęcie kont chmurowych i zasobów infrastrukturalnych,
- ruch boczny do środowisk produkcyjnych i deweloperskich,
- kompromitacja repozytoriów kodu oraz pipeline’ów CI/CD,
- eskalacja incydentu do poziomu supply chain,
- utrata poufności danych aplikacyjnych i operacyjnych,
- wdrożenie kolejnych ładunków, w tym malware lub ransomware,
- naruszenia zgodności regulacyjnej wynikające z ekspozycji sekretów i danych dostępowych.
Szczególnie niebezpieczne są sytuacje, w których aplikacja przechowuje w zmiennych środowiskowych dane dostępowe do usług płatniczych, platform AI, komunikatorów biznesowych, repozytoriów kodu lub baz danych. W takim scenariuszu incydent przestaje dotyczyć pojedynczego serwera i obejmuje tożsamość maszynową, integracje aplikacyjne oraz zasoby organizacji w chmurze.
Rekomendacje
Organizacje korzystające z React Server Components i Next.js powinny traktować React2Shell jako priorytet krytyczny. Reakcja nie może ograniczać się wyłącznie do wdrożenia poprawek, ponieważ w części środowisk mogło już dojść do przejęcia sekretów.
- niezwłocznie zinwentaryzować wszystkie internetowe wdrożenia Next.js i komponenty zależne od React Server Components,
- zweryfikować wersje podatne na CVE-2025-55182 i wdrożyć poprawki lub działania kompensacyjne,
- przeprowadzić pełną rotację wszystkich sekretów dostępnych z poziomu aplikacji, w tym kluczy API, tokenów OAuth, tokenów GitHub, poświadczeń baz danych, kluczy SSH i danych chmurowych,
- przeanalizować logi aplikacyjne i telemetryczne pod kątem nietypowych żądań HTTP, nagłych procesów potomnych Node.js oraz oznak rozpoznania systemowego,
- przejrzeć zmienne środowiskowe, konfiguracje kontenerów i sekrety Kubernetes pod kątem możliwej ekspozycji,
- ograniczyć uprawnienia kont serwisowych zgodnie z zasadą najmniejszych uprawnień,
- wdrożyć segmentację między warstwą aplikacyjną, systemami CI/CD i zasobami chmurowymi,
- monitorować użycie tokenów i kluczy pod kątem nietypowych logowań, nowych sesji i zmian konfiguracji,
- zastosować reguły detekcyjne dla prób enumeracji metadanych chmurowych, odczytu historii powłoki i dostępu do katalogów z sekretami,
- objąć krytyczne aplikacje dodatkowymi zabezpieczeniami WAF, EDR/XDR i kontrolami behawioralnymi po stronie serwera.
W środowiskach, które mogły zostać naruszone, należy założyć kompromitację wszystkich sekretów osiągalnych dla procesu aplikacyjnego. Samo usunięcie podatności bez rotacji poświadczeń nie eliminuje ryzyka ich wtórnego wykorzystania.
Podsumowanie
Kampania wykorzystująca React2Shell potwierdza, iż krytyczne luki w popularnych frameworkach webowych są bardzo gwałtownie przekształcane w zautomatyzowane operacje na dużą skalę. Celem nie było jedynie przejęcie pojedynczych serwerów, ale masowe pozyskiwanie tokenów, kluczy i sekretów umożliwiających dalszą ekspansję w infrastrukturze ofiar.
Dla zespołów bezpieczeństwa oznacza to konieczność równoległego działania w trzech obszarach: szybkiego patchowania, pełnej rotacji poświadczeń oraz aktywnego threat huntingu pod kątem śladów eksfiltracji i nadużyć związanych z tożsamością maszynową.
Źródła
- React2Shell Exploited in Large-Scale Credential Harvesting Campaign — https://www.securityweek.com/react2shell-exploited-in-large-scale-credential-harvesting-campaign/
- UAT-10608: Inside a large-scale automated credential harvesting operation targeting web applications — https://blog.talosintelligence.com/
- Defending against the CVE-2025-55182 (React2Shell) vulnerability in React Server Components — https://www.microsoft.com/en-us/security/blog/2025/12/15/defending-against-the-cve-2025-55182-react2shell-vulnerability-in-react-server-components/
- Security Advisory: React2Shell (CVE-2025-55182) – Critical RCE Vulnerability — https://trustedsec.com/about-us/news/security-advisory-react2shell-cve-2025-55182-critical-rce-vulnerability
- Emerging Threat: CVE-2025-55182 (React2Shell) – React Server Components RCE Vulnerability — https://www.cycognito.com/blog/emerging-threat-react-server-components-rce-vulnerability-cve-2025-55182/

