A CVSS 10.0 pre-authentication remote code execution vulnerability in React Server Components — exploited by state-sponsored threat groups within hours of disclosure. Here's what you need to know to assess, patch, and secure your applications.
If you are running React 19.0.0–19.2.0 with Server Components, or Next.js 15.x/16.x with App Router, your application is vulnerable to unauthenticated remote code execution. Patch immediately. Threat groups are actively scanning for and exploiting this vulnerability.
On December 3, 2025, the React team disclosed CVE-2025-55182, a critical pre-authentication remote code execution vulnerability in React Server Components (RSC). Assigned a CVSS score of 10.0 — the maximum possible severity — the vulnerability was quickly nicknamed "React2Shell" by security researchers.
The vulnerability was discovered by security researcher Lachlan Davidson and responsibly reported to the React team on November 29, 2025. Coordinated disclosure involved Vercel, Meta (Facebook), and major cloud providers including AWS, enabling advance patching and protective measures before the public announcement.
CVE-2025-66478 was initially allocated as a separate CVE ID but has since been rejected as a duplicate of CVE-2025-55182. There is no separate vulnerability — the original CVE covers the full scope.
Key fact: The React Server Components vulnerability allows a remote attacker
to execute arbitrary code on the server without any authentication. The CVSS vector
is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — network-based, low complexity,
no privileges required, no user interaction, and with a scope change that compromises
confidentiality, integrity, and availability completely.
React Server Functions allow a client component to call a function that executes on the server. React provides integration points and tools that frameworks and bundlers use to bridge client and server code. When a client calls a Server Function, React translates the request into HTTP POST requests to a server endpoint. On the server, React deserializes the incoming payload and translates it into the appropriate function call, returning data to the client.
The vulnerability exists in how React decodes and deserializes payloads sent to Server Function endpoints. The deserialization process does not properly validate or sanitize the incoming data, allowing an attacker to craft a malicious HTTP request that, when processed by React's deserialization logic, achieves arbitrary code execution on the server.
// Simplified exploit flow (conceptual)
// 1. An attacker sends a crafted HTTP POST to /server-function-endpoint
// 2. React's deserializer processes the malicious payload
// 3. Unsafe deserialization triggers arbitrary code execution
// 4. Attacker gains a shell on the server — hence "React2Shell"
POST /_rsc/server-functions HTTP/1.1
Host: vulnerable-app.com
Content-Type: application/octet-stream
[mAlformed Payload with embedded serialized commands]
Critically, even if your application does not explicitly implement any Server Function
endpoints, it may still be vulnerable if your application supports
React Server Components. The Server Function endpoint is automatically registered
by the RSC infrastructure, and the deserialization code is part of the core
react-server-dom-* packages.
The following packages in React 19.0.0–19.2.0 are vulnerable:
Any framework that depends on, has peer dependencies for, or bundles the vulnerable React packages is affected:
| CVE ID | Type | CVSS | Disclosure | Description |
|---|---|---|---|---|
| CVE-2025-55182 | RCE | 10.0 | Dec 3, 2025 | Pre-auth remote code execution via unsafe deserialization in RSC |
| CVE-2025-66478 | — | — | Dec 3, 2025 | REJECTED — duplicate of CVE-2025-55182 |
| CVE-2025-55184 | DoS | 7.5 | Dec 3, 2025 | Denial of Service vulnerability in React Server Components |
| CVE-2025-67779 | DoS | 7.5 | Dec 3, 2025 | Additional DoS vector in React Server Components |
| CVE-2025-55183 | Info Leak | 5.3 | Dec 3, 2025 | Source code exposure via React Server Components |
| CVE-2026-23864 | DoS | 7.5 | Jan 26, 2026 | Follow-up DoS vulnerability in React Server Components |
Within hours of the public disclosure on December 3, 2025, AWS threat intelligence teams observed active exploitation attempts against CVE-2025-55182. Multiple China state-nexus threat groups were involved:
AWS monitored the exploitation through its MadPot honeypot infrastructure, which simulates vulnerable applications to observe threat actor behavior. AWS deployed automated protections through its Sonaris active defense system and AWS WAF managed rules (AWSManagedRulesKnownBadInputsRuleSet version 1.24+).
The CISA Known Exploited Vulnerabilities Catalog lists CVE-2025-55182, confirming that U.S. federal agencies and the broader cybersecurity community recognize this as an actively exploited vulnerability requiring immediate patching.
The exploitation speed is significant: State-sponsored groups operationalizing a zero-day exploit within hours of disclosure requires advance preparation. This suggests that threat actors had reverse-engineered the fix before the public announcement, or independently discovered the vulnerability and were waiting for the disclosure to begin mass scanning.
The exploitation pattern for React2Shell follows a predictable playbook:
/_rsc/ and
/server-functions endpoints.Upgrade to the fixed React versions based on your current minor version:
# If you're on React 19.0.x
npm install [email protected] [email protected]
# If you're on React 19.1.x
npm install [email protected] [email protected]
# If you're on React 19.2.x
npm install [email protected] [email protected]
If you're using Next.js with App Router, upgrade to the patched version for your release line:
# Next.js 14.x users (including 13.x migrations)
npm install [email protected]
# Next.js 15.x users
npm install [email protected] # Latest 15.x patch
# Or match your exact release:
npm install [email protected] # For 15.0.x
npm install [email protected] # For 15.1.x
npm install [email protected] # For 15.2.x
npm install [email protected] # For 15.3.x
npm install [email protected] # For 15.4.x
npm install [email protected] # For 15.5.x
# Next.js 16.x users
npm install [email protected]
npm install [email protected]
After updating, verify your React version is patched:
# Check React version
npm ls react react-dom
# Check react-server-dom-webpack version
npm ls react-server-dom-webpack
# The fixed versions are:
# - react: 19.0.1, 19.1.2, or 19.2.1
# - react-server-dom-*: same versions as react
If you cannot patch immediately, deploy WAF rules to block known exploit patterns:
/_rsc/* and Server Function endpoints on publicly
facing load balancers (though this may break legitimate functionality)Hosting provider mitigations and WAF rules provide temporary protection and should not be relied upon long-term. The only complete fix is upgrading to the patched React versions. Attackers continuously adapt their exploit payloads to bypass WAF rules.
After patching, perform a security review of your application:
According to AWS, this vulnerability does not affect AWS services themselves. However, customers running React or Next.js applications in their own environments — whether on Amazon EC2, containers (ECS/EKS), or serverless platforms — must update their applications immediately.
AWS has deployed multiple layers of automated protection through their Sonaris active defense system, AWS WAF managed rules, and perimeter security controls, but these measures protect the AWS infrastructure — they do not protect customers' self-managed applications from exploitation.
Following the initial RCE disclosure, the React team identified and patched several related vulnerabilities affecting the same packages. All are fixed by upgrading to React 19.0.1, 19.1.2, or 19.2.1:
The discovery of these follow-up vulnerabilities over several months underscores the complexity of the React Server Components attack surface. Organizations running React RSC should maintain a regular patch cadence and monitor the React security advisory page for future disclosures.
The React2Shell incident highlights several important lessons for the web development community:
CVE-2025-55182 (React2Shell) represents one of the most severe vulnerabilities ever discovered in the React ecosystem. A CVSS 10.0 pre-authentication RCE — exploited by state-sponsored groups within hours of disclosure — demands immediate attention from every organization running React Server Components in production.
The good news is that the fix is straightforward: upgrade to React 19.0.1, 19.1.2, or 19.2.1. The react-server-dom-* packages and all affected frameworks (Next.js, React Router, Waku, and others) are patched. The React team has handled the disclosure responsibly, AWS has deployed protective measures, and the vulnerability is well-documented.
The broader lesson is that server-side deserialization vulnerabilities remain a critical class of security bugs, and the growing adoption of server components in modern JavaScript frameworks expands the attack surface in ways that many development teams have not yet fully accounted for.
I build production applications with modern tools — React, Next.js, Node.js, and TypeScript. Let's discuss your project.