Wiz Details React2Shell Exploitation, Credential Theft and Backdoors in Cloud Workloads

· Original article ↗

Summary

Wiz describes in-the-wild exploitation of React’s CVE-2025-55182, including credential harvesting, cryptomining and Sliver backdoors in cloud workloads, and explains the exploit mechanics and exposure beyond Next.js.

Key points

  • Wiz reports attackers exploiting CVE-2025-55182 for interactive access to internet-facing Next.js applications and other containerized workloads.
  • Observed activity includes reconnaissance, cloud and developer credential harvesting, and attempts to access instance metadata for IAM credentials.
  • Campaigns deployed XMRig miners, while at least one used Sliver implants for persistent access.
  • A reported Node.js payload hooks HTTP request handling to provide a hidden command-execution path; other Node-native payloads harvested files and exfiltrated data without spawning child processes.
  • Wiz says the vulnerable React Server Components flow also affects Waku and Vite with RSC plugins; custom React servers may be exposed when they use the vulnerable decoder.
  • The article explains how crafted deserialization references and a Function() gadget trigger remote code execution.

Article Details

Attack Vectors
  • Attackers exploit CVE-2025-55182 through crafted React Server Components payloads that abuse improper input deserialization to achieve remote code execution. Next.js applications expose the vulnerable flow by default; the article also reports successful exploitation of Waku and Vite with the RSC Plugin.
  • After obtaining code execution in application containers, attackers use interactive reverse shells, DNS callbacks, and shell commands to discover the environment and harvest cloud, developer, and application credentials.
  • Observed post-exploitation includes deploying cryptominers and Sliver backdoors, and using a Node.js in-memory webshell or Node-native code to steal files and exfiltrate data.
Defensive Notes
  • Patch vulnerable React Server Components packages and assess exposure across Next.js, Waku, Vite with the RSC Plugin, and custom React servers that invoke the vulnerable decoder.
  • Use dynamic scanning and code or disk validation to identify vulnerable packages, including in less common platforms and native React implementations.
  • Investigate unexpected shells, DNS callbacks, access to cloud instance metadata, credential-file collection, mining activity, Sliver implants, and anomalous HTTP requests to /favicon.login.ico.
  • Review Node.js application processes for runtime tampering, including changes to http.Server.prototype.emit, and monitor for data exfiltration that occurs without spawning child processes.

Indicators of compromise

TypeIndicatorContext
DOMAINanywherehost[.]siteMalware infrastructure used to distribute scripts and miner payloads across multiple customers and clusters.
DOMAINaws[.]orgserv[.]dnsnet[.]cloud[.]anondns[.]netLoader infrastructure identified in the IOC list.
DOMAINax29g9q123[.]anondns[.]netLoader infrastructure identified in the IOC list.
DOMAINinerna1[.]siteMalware infrastructure used to distribute scripts and miner payloads across multiple customers and clusters.
DOMAINip[.]inovanet[.]ptMalware infrastructure hosting a miner payload.
DOMAINkeep[.]camdvr[.]orgSliver infrastructure used to deliver payloads and a dropper.
DOMAINtr[.]earn[.]topBeacon infrastructure identified in the IOC list.
IPV4144[.]91[.]87[.]221C2 and exfiltration server used by the Node-native payload to receive stolen data.
SHA10972859984decfaf9487f9a2c2c7f5d2b03560a0SHA-1 hash identified as a Sliver payload.
SHA12937c58115c131ae84a1b2a7226c666f6a27ef88SHA-1 hash identified as a Sliver payload.
SHA1470ce679589e1c3518c3ed2b818516f27ccad089SHA-1 hash identified as a Sliver payload.
SHA15d368356bd49c4b8e3c423c10ba777ff52a4f32aSHA-1 hash identified as a stealer.
SHA1732226c0966fe29116b147e893c35ce7df1c8f1aSHA-1 hash identified as a miner.
SHA17fe3826fc7b90e20c9fe76a7891eff350d73b6b3SHA-1 hash identified as malware.
SHA191152e6ffe0474b06bb52f41ab3f3545ac360e64SHA-1 hash identified as a stealer.
SHA1be86823d73a01266b096dab1628cfa2e4ca77265SHA-1 hash identified as a miner.
SHA1d6e97c9783f0907f1ee9415736816e272a9df060SHA-1 hash identified as a miner.
URLhxxp[:]//185[.]229[.]32[.]220:21642/2lt4de8wgl54wtjgo8/windsMalware download URL listed in the IOC table.
URLhxxp[:]//193[.]34[.]213[.]150/nuts/boltsMalware download URL listed in the IOC table.
URLhxxp[:]//45[.]32[.]158[.]54/5e51aff54626ef7f/x86_64Malware download URL listed in the IOC table.
URLhxxp[:]//47[.]84[.]82[.]8/indexStealer endpoint identified in the IOC list.
URLhxxp[:]//47[.]84[.]82[.]8/uploadStealer exfiltration endpoint identified in the IOC list.
URLhxxp[:]//8[.]222[.]213[.]56/indexStealer endpoint identified in the IOC list.
URLhxxp[:]//anywherehost[.]site/xb/runner[.]zipMiner payload URL listed for the cryptomining campaign.
URLhxxp[:]//anywherehost[.]site/xms/k1[.]sh?grepMalicious script dropper URL listed for the cryptomining campaign.
URLhxxp[:]//anywherehost[.]site/xms/kill2[.]shMalicious script dropper URL listed for the cryptomining campaign.
URLhxxp[:]//inerna1[.]site/xms/k1[.]shMalicious script dropper URL listed for the cryptomining campaign.
URLhxxp[:]//ip[.]inovanet[.]pt/systemprofile[.]zipMiner payload URL listed in the IOC table.
URLhxxp[:]//keep[.]camdvr[.]org:8000/BREAKABLE_PARABLE5Sliver payload delivery URL listed in the IOC table.
URLhxxp[:]//keep[.]camdvr[.]org:8000/d5[.]shSliver dropper URL listed in the IOC table.

MITRE ATT&CK

T1041 · Exfiltration Over C2 ChannelStolen credentials, keys, system data, and files are uploaded to attacker-controlled infrastructure over HTTP.T1059.004 · Unix ShellA Node-native payload uses child_process.exec to run commands when its magic URL path is requested.T1059.007 · JavaScriptAttackers execute shell commands and scripts inside compromised application containers.T1071.004 · DNSCompromised workloads send DNS callbacks to attacker-controlled OAST and beacon domains.T1082 · System Information DiscoveryPost-exploitation commands collect host and operating-system information, including hostname and OS details.T1087 · Account DiscoveryThe reported scripts enumerate users and home directories while searching for credentials and configuration files.T1105 · Ingress Tool TransferAttackers retrieve shell scripts, miner payloads, and Sliver binaries from external infrastructure.T1112 · Modify RegistryA Node.js payload overrides http.Server.prototype.emit to implant a persistent in-memory webshell.T1190 · Exploit Public-Facing ApplicationAttackers exploit the exposed React Server Components deserialization vulnerability in internet-facing applications to obtain initial code execution.T1496 · Resource HijackingMultiple campaigns deploy XMRig miners and connect them to attacker-controlled mining pools.T1543.002 · Systemd ServiceA miner campaign uses nohup /var/tmp/crond as a disguised persistence mechanism inside the container.T1552.001 · Credentials In FilesPayloads search for and steal SSH keys and other sensitive files from compromised hosts.T1552.003 · Shell HistoryAttackers attempt to access the cloud instance metadata service to retrieve IAM credentials.

CVE

People

Malware

Vendors

Products

GKEIn multiple cases, attackers used the vulnerability to obtain an interactive shell inside application containers (for example, Next.js frontends running in Kubernetes/GKE). From there, we consistently see:KubernetesMost attacks target internet-facing Next.js applications and other containerized workloads running in Kubernetes and managed cloud services.Next.jsWhile initial reports have rightly focused on Next.js due to its massive popularity and default exposure, our research indicates the rabbit hole goes much deeper. This is not merely a framework-specific bug; it is aNode.jssimple connectivity checks to fully interactive reverse shells directly from the application runtime (Node.js / Next.js processes) to external command-and-control servers.ReactThe disclosure of CVE-2025-55182, a critical Remote Code Execution (RCE) vulnerability in React, has sent shockwaves through the industry. Dubbed "React2Shell," this vulnerability allows attackers to bypass securityReact Server Componentsand execute arbitrary code on the server by exploiting improper input deserialization within React Server Components (RSC).ViteThe Broader Scope: Why frameworks like Waku and Vite (with RSC plugins) are also vulnerable, and how the "default open" nature of Next.js - specifically the next-action header - makes it a prime target.WakuThe Broader Scope: Why frameworks like Waku and Vite (with RSC plugins) are also vulnerable, and how the "default open" nature of Next.js - specifically the next-action header - makes it a prime target.

Tools

Related Articles