[email protected]

React2Shell: Critical Security Vulnerability in Next.js and React – Act Now!

React2Shell: Critical Security Vulnerability in Next.js and React – Act Now!

Editorial note: The information in this article was compiled to the best of our knowledge at the time of publication. Technical details, prices, versions, licensing terms, and external content may change. Please verify the information provided independently, particularly before making business-critical or security-related decisions. This article does not replace individual professional, legal, or tax advice.

Status at WZ-IT: We have already updated all customer systems under our management to patched versions. With this post, we want to help spread awareness about the urgency of this vulnerability so that as many systems as possible get patched quickly.

Update of 12 October 2026: While reviewing the React2Shell patches, researchers found further flaws in the RSC protocol that do not allow code execution: CVE-2025-55184 and CVE-2025-67779 (denial of service, CVSS 7.5), CVE-2025-55183 (exposure of Server Function source code, CVSS 5.3), in January 2026 CVE-2026-23864, in April and May 2026 CVE-2026-23869 and CVE-2026-23870, and in July 2026 CVE-2026-44907 (all DoS, CVSS 7.5). The minimum fixed React versions are now 19.0.8, 19.1.9 and 19.2.8 (affected by CVE-2026-44907: 19.0.0-19.0.7, 19.1.0-19.1.8, 19.2.0-19.2.7). For Next.js, the advisory of December 11, 2025 lists, among others, 14.2.35, 15.5.9 and 16.0.10; further Next.js security releases have followed since. Keep the latest patch release of your release line in place. CVE-2025-55182 has been in the CISA Known Exploited Vulnerabilities catalog since December 5, 2025.

On December 3, 2025, one of the most severe security vulnerabilities in recent years was disclosed in the JavaScript ecosystem: CVE-2025-55182, also known as React2Shell. With a CVSS score of 10.0 (maximum), this is a critical Remote Code Execution (RCE) vulnerability affecting millions of web applications.

If you're using Next.js or React Server Components: Stop everything else and patch immediately.

Table of Contents

What is React2Shell?

React2Shell is an Unsafe Deserialization Vulnerability in React Server Components. The vulnerability was discovered by security researcher Lachlan Davidson and reported to the Meta team on November 29, 2025.

The problem lies in the Flight Protocol – the serialization format that React Server Components use for communication between server and client. Due to improper validation of incoming payloads, attackers can execute arbitrary code on the server.

Critical: Standard Next.js applications created with create-next-app are vulnerable without any code changes.

Technical Details

The vulnerability affects the deserialization logic in React Server Components:

  • CVE-2025-55182: The main vulnerability in React Server Components
  • CVE-2025-66478: The specific manifestation in Next.js

When a server receives a specially crafted, malformed payload, the structure is not correctly validated. This allows attacker-controlled data to influence server-side execution logic – resulting in the execution of privileged JavaScript code.

Affected packages:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

Affected frameworks:

  • Next.js (App Router)
  • React Router (with RSC)
  • Waku
  • @parcel/rsc
  • @vitejs/plugin-rsc
  • rwsdk

Affected Versions

React Server Components

Affected Version Patched Version
19.0.0 19.0.1
19.1.0, 19.1.1 19.1.2
19.2.0 19.2.1

Next.js

Affected Version Patched Version
15.0.x 15.0.5
15.1.x 15.1.9
15.2.x 15.2.6
15.3.x 15.3.6
15.4.x 15.4.8
15.5.x 15.5.7
16.0.x 16.0.7

Canary versions:

  • Next.js 14 canaries from 14.3.0-canary.77 → Downgrade to the latest stable 14.x release (npm install next@14, per the Next.js advisory)
  • Next.js 15 canaries before 15.6.0-canary.58 → Upgrade to 15.6.0-canary.58
  • Next.js 16 canaries before 16.1.0-canary.12 → Upgrade to 16.1.0-canary.12

Patched Versions

React: 19.0.1, 19.1.2, 19.2.1

Next.js: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7

Active Exploitation

The vulnerability is being actively exploited.

According to the AWS Security Blog, Amazon Threat Intelligence Teams observed active exploitation attempts within hours of disclosure on December 3, 2025, by multiple state-sponsored groups, including:

  • Earth Lamia (China-nexus)
  • Jackpot Panda (China-nexus)

Wiz Research reports that 39% of all cloud environments contain instances of Next.js or React in vulnerable versions. More than 968,000 servers have been identified as potentially vulnerable.

Immediate Actions

1. Check Version

# In browser developer tools on a page of your app:
next.version

# Or check package.json
cat package.json | grep next

2. Automatic Patching (Next.js)

Vercel has provided an npm package:

npx fix-react2shell-next

3. Manual Update

# For Next.js 15.5.x
npm install [email protected]

# For Next.js 16.0.x
npm install [email protected]

# Update React
npm install [email protected] [email protected]

4. Redeploy

After updating, you must redeploy your application. A simple server restart is not sufficient.

5. Check Logs

Review your application logs for:

  • Unusual POST requests
  • Spikes in function timeouts
  • Suspicious activity

Am I Affected?

You are affected if:

  • ✅ You use Next.js with App Router on an unpatched 15.x or 16.0.x release (up to 16.0.6) or on 14.3.0-canary.77 or later
  • ✅ You use React Server Components in an affected version
  • ✅ Your application uses server-side React components

You are NOT affected if:

  • ❌ You only use client-side React without a server
  • ❌ You don't use a framework/bundler with React Server Components support
  • ❌ You use Next.js Pages Router (without App Router)
  • ❌ You use Next.js 14.x (stable version) without canary features

Quick Test

Run in the browser console on a page of your app:

next.version

Compare the result with the affected versions above.

WAF Protection Is Not Enough

Vercel, Cloudflare, AWS, Akamai, Fastly, and Google Cloud have deployed WAF rules that block known exploit patterns. However:

WAF rules are only an additional layer of defense. They cannot block all possible variants of an attack. Upgrading to a patched version is the only complete solution.

Since December 5, 2025, Vercel also blocks new deployments of projects with vulnerable Next.js versions.

Conclusion

CVE-2025-55182 (React2Shell) is one of the most critical vulnerabilities ever to hit the JavaScript ecosystem:

  • CVSS 10.0 – Maximum Severity
  • Remote Code Execution without authentication
  • Active exploitation by state actors
  • Millions of affected applications

Act now:

  1. Check your Next.js/React version
  2. Update to a patched version
  3. Redeploy your application
  4. Review your logs for suspicious activity

The good news: Patches are available and the update is straightforward in most cases.


Our Support

Unsure if your systems are affected, or need help patching? WZ-IT can help:

  • Rapid security audits of your web infrastructure
  • Patch management and deployment support

Contact us now →


Sources

Timo Wevelsiep

Written by

Timo Wevelsiep

Co-Founder & CEO

Co-Founder of WZ-IT. Specialized in cloud infrastructure, open-source platforms and managed services for SMEs and enterprise clients worldwide.

Frequently Asked Questions

Answers to important questions about this topic

Companies worldwide trust WZ-IT

  • Stadtwerke Brühl
  • DGHO e.V.
  • ABCO Water Systems
  • Golem.de
  • EVADXB
  • nextGYM
  • AInergy
  • ml&s
  • Odiseo Solutions
  • Annota
  • ARGE
  • SweetConnect GmbH
  • Aphy AG
  • CORGOS
  • Rekorder
  • SolidProof
  • Yonju
  • Keymate
  • Paritel
  • Mr. Clipart
  • Millenium
  • Negosh
  • Führerscheinmacher
  • Boese VA
Read client reviews

Enquiry

Close React2Shell safely across your Next.js estate

We establish exposure, support patching and redeployment, review suspicious access traces, or put a reliable update process in place.

  • Straight with Timo and Robin - no sales team, no pitch
  • A professional assessment of your situation
  • Concrete next steps for infrastructure, software or AI

The conversation is free and non-binding.

WZ-IT's advice on our Azure migration was technically sound and completely non-binding right from the intro call - we took away a great deal.
Jakob ÖschlbergerInno7 GmbH
Timo and Robin, founders of WZ-IT

What is your current React2Shell status?

WZ-IT's advice on our Azure migration was technically sound and completely non-binding right from the intro call - we took away a great deal.
Jakob ÖschlbergerInno7 GmbH