
On December 3, 2025, the official React team published a security advisory revealing a critical unauthenticated remote code execution (RCE) vulnerability in React Server Components (RSC).
This vulnerability, tracked as CVE-2025-55182 (also referred to as “React2Shell”) bears a CVSS base score of 10.0, the maximum possible, underscoring the severity and urgency for remediation.
What Went Wrong: Unsafe Deserialization in RSC
The root cause lies in how React handles payloads sent to Server-Function endpoints via the Flight protocol. When these payloads are deserialized unsafely, an attacker can craft a malicious HTTP request that executes arbitrary JavaScript code on the server.
Importantly, even if your application does not explicitly use Server Functions, it can still be vulnerable as long as your build supports Server Components.
The vulnerability affects several npm packages and bundlers:
-
react-server-dom-webpack
-
react-server-dom-parcel
-
react-server-dom-turbopack (versions 19.0, 19.1.0, 19.1.1, 19.2.0)
Common frameworks and toolchains built on React (e.g. Next.js, RSC-enabled versions of bundlers and plugins) are affected too.
Because of these reasons, the issue immediately drew comparisons to high-profile supply-chain flaws like “Log4Shell.”
Scope of Impact: Why This Matters for Web Applications Worldwide
According to security researchers, thousands of servers and hosting deployments running React / Next.js could be vulnerable.
Default deployments of Next.js (via create-next-app) and other frameworks are often impacted, meaning many developers may be unknowingly exposed.
The exploit requires no authentication or user interaction, only a crafted HTTP request. That dramatically lowers the bar for attackers.
Given React’s popularity and ubiquity across web applications, the potential for mass exploitation is real and wide-reaching.
Steps to Mitigate: Patch Immediately & Harden Infrastructure
Upgrade React (and related RSC packages)
If using any of the vulnerable versions, upgrade to 19.0.1, 19.1.2, or 19.2.1.
For bundlers/frameworks: ensure packages like these are updated
-
react-server-dom-webpack
-
react-server-dom-parcel
-
react-server-dom-turbopack
Update frameworks such as Next.js
Next.js users should upgrade to patched versions (e.g. 15.0.5, 15.1.9, 15.2.6 … up to 16.0.7) per Next.js advisories.
Apply temporary mitigations while patching
Many hosting providers and CDN/WAF vendors have already pushed Web Application Firewall (WAF) rules to block exploit attempts. Using a WAF acts as a helpful stopgap while you patch.
Monitor HTTP traffic to server-function endpoints; restrict access where possible, especially for public-facing applications.
Audit all dependencies and bundled libraries
This includes third-party libraries, plugins, and frameworks that may indirectly pull in vulnerable React RSC packages (e.g. via bundlers or lesser-known frameworks).
Security researchers emphasized that this is not a theoretical flaw: a proof-of-concept (PoC) exploit already exists publicly, which dramatically increases the likelihood of real-world attacks soon.
“This vulnerability turns any React + RSC server into a remote shell patch immediately or risk compromise.”
Conclusion: For Web Security, React2Shell Is a Must-Fix
The discovery of this RCE flaw in React Server Components marks one of the most serious security incidents in the JavaScript ecosystem in recent times. For organizations, developers, and businesses relying on React (or frameworks built on it), this isn’t a bug you can ignore—it demands immediate action.
Whether you run enterprise applications, SaaS platforms, or small web projects, make version checks and upgrades your top priority. Complement that with firewall protections, monitoring, and security audits.
As always in 2025, the security of your frontend stack is only as strong as the weakest package. Stay vigilant, patch promptly.

Leave a Reply