CVE-2025-55182: Critical React RCE Vulnerability — Is Your Next.js App Already Hacked?

A critical remote code execution vulnerability in React Server Components is being actively exploited in the wild. Here's everything you need to know.

9.8
CVSS Score
CRITICAL SEVERITY
Attack Vector: Network
Exploit Maturity: Weaponized
Patch Available: Yes
Active Exploitation: Confirmed

TL;DR — Patch Now!

  • CVE-2025-55182 is a critical RCE vulnerability in React Server Components
  • Attackers can execute arbitrary code on your server with a single HTTP request
  • Active exploitation observed since December 5, 2025
  • Affected: React 19.x, Next.js 14.3+, 15.x, 16.x with App Router
  • Solution: Upgrade to React 19.0.1/19.1.2/19.2.1 and Next.js 15.0.5+/16.0.8+

What is CVE-2025-55182?

CVE-2025-55182, nicknamed "React2Shell" by security researchers, is a critical remote code execution (RCE) vulnerability discovered in React Server Components' "Flight" protocol. The vulnerability stems from insecure deserialization in how RSC payloads are processed on servers. This flaw allows an unauthenticated attacker to execute arbitrary JavaScript code on your server by simply sending a specially crafted HTTP request. No authentication required. No user interaction needed. Just one malicious request, and your server is compromised.
Attack Flow Visualization
  1. Attacker crafts malicious RSC payload
  2. Payload sent via HTTP POST to vulnerable endpoint
  3. Server deserializes payload without validation
  4. Malicious code executes with server privileges
  5. Full server compromise achieved

How Does It Work?

The vulnerability exploits unsafe handling of specially crafted, malformed RSC payloads. When a server receives such a payload, it fails to validate the structure correctly, allowing attacker-controlled data to influence server-side execution logic. The attack flow is straightforward: 1. Attacker sends a malformed RSC payload via HTTP POST request 2. Server deserializes the payload without proper validation 3. Attacker-controlled code executes with server privileges 4. Full server compromise achieved What makes this particularly dangerous is that default configurations of create-next-app are vulnerable. If you deployed a Next.js app with App Router in the last year, you're likely at risk.
Example Malicious Payload Structure
POST /_rsc HTTP/1.1
Host: vulnerable-app.com
Content-Type: text/x-component

0:["$","$L1",null,{"__rsc_payload__":
  {"$$typeof":"__MALICIOUS_MARKER__",
   "type":{"$$typeof":"EXPLOIT_FUNC",
   "render":"__ARBITRARY_CODE__"}}
}]

This is a simplified representation of the attack vector. The actual exploit involves specially crafted Flight protocol data.

How to Detect Exploitation Attempts
  • [01]Unusual POST requests to /_rsc or Server Component endpoints
  • [02]Malformed Content-Type headers with RSC payloads
  • [03]Unexpected process spawning on web servers
  • [04]Outbound connections from server to unknown IPs
  • [05]Environment variable access in server logs

Impact & Severity

CVSS Score: 9.8 (Critical) The impact of this vulnerability cannot be overstated: • Unauthenticated RCE: Attackers need only send a crafted HTTP request • Default configurations vulnerable: Standard create-next-app deployments are at risk • Near 100% reliability: Testing showed highly consistent exploitation success • Active exploitation: Real-world attacks began December 5, 2025 Security researchers at Wiz observed active exploitation campaigns including: - Credential harvesting from environment variables - Cryptomining payloads being deployed - Reverse shell installations for persistent access - Data exfiltration attempts
Version Comparison
PackageVULNERABLEPATCHED
React19.0.0, 19.1.x, 19.2.019.0.1, 19.1.2, 19.2.1
Next.js 15.015.0.0 - 15.0.415.0.5
Next.js 15.115.1.0 - 15.1.815.1.9
Next.js 15.215.2.0 - 15.2.515.2.6
Next.js 16.016.0.0 - 16.0.616.0.8

Affected Versions

React packages (react-server-dom-webpack, react-server-dom-parcel, etc.): • 19.0.0 (all builds) • 19.1.0, 19.1.1 • 19.2.0 Next.js (with App Router enabled): • 14.3.0-canary.77 and later canary releases • 15.0.0 through 15.0.4 • 15.1.0 through 15.1.8 • 15.2.0 through 15.2.5 • 15.3.0 through 15.3.5 • 15.4.0 through 15.4.7 • 15.5.0 through 15.5.6 • 16.0.0 through 16.0.6 Other affected frameworks: • Vite RSC plugin • Parcel RSC • React Router (with RSC) • RedwoodSDK • Waku

How to Fix It

Immediate patching is the only definitive mitigation. Upgrade to these patched versions: React: • 19.0.1 • 19.1.2 • 19.2.1 Next.js: • 14.x stable (not affected) • 15.0.5 • 15.1.9 • 15.2.6 • 15.3.6 • 15.4.8 • 15.5.7 • 16.0.8 To update, run:
# For npm
npm update react react-dom next

# For yarn
yarn upgrade react react-dom next

# For pnpm
pnpm update react react-dom next

# Verify your versions
npm list react next

How to Check If You're Vulnerable

Run these commands to check your current versions:
# Check React version
npm list react

# Check Next.js version
npm list next

# Check if you're using App Router
# Look for 'app' directory in your project root
If you're running any of the affected versions listed above and using App Router (the 'app' directory), you are vulnerable and should patch immediately. TEPTEZ can automatically scan your applications for this and other CVE vulnerabilities. Our platform detects vulnerable dependencies and provides actionable remediation guidance.

Timeline

• November 2025: Vulnerability discovered by security researchers • December 2, 2025: React team notified • December 3, 2025: Official advisory published by React team • December 4, 2025: Patches released for all affected versions • December 5, 2025: Active exploitation detected in the wild • December 6, 2025: Wiz publishes detailed technical analysis

References

Protect Your Applications with TEPTEZ

Don't wait for the next zero-day. TEPTEZ continuously monitors your applications for CVE vulnerabilities, misconfigurations, and security threats.

Start Free Security Scan