React2Shell: The 10.0 React Bug That Just Went Nuclear
A critical remote code execution bug in React Server Components, now nicknamed React2Shell and tracked as CVE-2025-55182, is being mass-exploited across the internet. Attackers are racing ahead of patching, with tens of thousands of servers probed or already under active attack.
React2Shell is a maximum-severity flaw (CVSS 10.0) in how React Server Components handle certain server-side rendering flows, allowing an unauthenticated attacker to achieve remote code execution with no user interaction. Shadowserver reported nearly 80,000 internet-facing IPs vulnerable shortly after disclosure, with almost 30,000 still exposed days later even as scanning and exploitation surged.
The bug affects applications using React Server Components in specific configurations across popular Node.js and edge runtimes, including stacks commonly deployed behind major cloud providers. Security vendors and cloud platforms report Chinese and other state-linked threat actors quickly folded React2Shell into their playbooks, alongside financially motivated groups using it for mass exploitation and foothold building.
Major security outlets now list React2Shell alongside the biggest “wormable” web flaws of recent years because the exploit chain is simple to automate, requires no authentication, and cleanly drops a shell on unpatched servers. Exploit code and scanning scripts are already circulating in red-team and underground communities, dramatically lowering the bar for opportunistic attacks.
Why this matters if you write or ship code
If you are building with modern React stacks, this is not a “security team only” story — it is an application architecture story. Your routing, data loading, and server components wiring directly influence whether your app is exploitable, and in many cases only the app team can safely roll out the required code and config changes.
Attackers are not just defacing sites; they are using React2Shell as an initial access vector to drop web shells, pivot into internal networks, steal secrets and tokens, and enroll boxes into botnets. That means the same production hosts serving your frontends can quickly turn into staging grounds for DDoS, credential theft, or ransomware.
From a DevOps and SRE perspective, this is another wake-up call that “just expose the app over HTTPS” is not a security posture. Internet-facing frameworks with server-side logic are now treated like mini-APIs with their own patch SLAs, observability requirements, and kill-switch playbooks when zero-days hit.
Expect frameworks, hosting platforms, and security tools to react by tightening defaults: safer server component APIs, hardened runtime sandboxes, stricter CSP and sandboxing guidance, and more aggressive managed WAF rules that specifically target exploit patterns for React2Shell-style bugs.
What you should do next
As a developer or tech lead, assume any React app using Server Components and reachable from the internet is a potential target until proven otherwise. Pull the latest framework and runtime patches, read the security advisories from your React stack vendor, and align with your ops team on emergency patching, WAF rules, and log review for suspicious server-side activity.
The bigger lesson: your frontend framework is now part of your threat model. Treat React like you treat your backend: track its CVEs, keep it patched on a schedule measured in hours not weeks when a 10.0 drops, and bake that expectation into how you design, deploy, and monitor every new app.

