비트베이크

React2Shell (CVE-2025-55182): How to Protect Your Next.js App from Critical RCE

React2Shell (CVE-2025-55182) is a CVSS 10.0 RCE vulnerability in React Server Components. Learn how it works, which versions are affected, and how to patch and defend your Next.js applications.

2026-02-17T12:31:20.187Z

A CVSS 10.0 Vulnerability Threatening 2.15M+ Sites

On December 3, 2025, the most severe security vulnerability in React's history was publicly disclosed. Dubbed React2Shell (CVE-2025-55182), this flaw received the maximum CVSS score of 10.0 and enables unauthenticated remote code execution (RCE) through an unsafe deserialization bug in the React Server Components Flight protocol. Within hours, nation-state threat actors began active exploitation. Cloudflare observed 582.10 million attack attempts in just eight days following disclosure.

Every Next.js application using the App Router is in the blast radius, and default configurations are exploitable without any developer code changes — drawing immediate comparisons to Log4Shell.

Understanding the Attack Surface: React's Flight Protocol

React Server Components (RSC) introduced a fundamentally new architecture where components render on the server and stream results to the client. The Flight protocol handles the serialization and deserialization of data exchanged between server and client. It is precisely this deserialization layer where the critical flaw resides.

The root cause is that React's Flight protocol did not perform proper type checking on incoming serialized data. An attacker can exploit this by chaining internal gadgets to create a Promise-like object with an attacker-controlled .then property. During deserialization, these Promise-like objects are automatically resolved, triggering arbitrary JavaScript execution on the server.

In practical terms, an unauthenticated remote attacker can send a single crafted HTTP request to any Server Function endpoint. When deserialized by React, the payload loads Node.js's child_process module and executes arbitrary system commands. Testing showed near-100% exploit reliability against default configurations — no special setup or developer mistakes required.

Affected Versions and Scope

The reach of React2Shell extends across the entire RSC ecosystem.

React packages:

  • react-server-dom-webpack: 19.0.0
  • react-server-dom-parcel: 19.0.0, 19.1.0–19.1.1, 19.2.0
  • react-server-dom-turbopack: affected 19.x versions

Next.js:

  • 15.0.0 through 15.5.6
  • 16.0.0 through 16.0.6
  • 14.3.0-canary.77 and later canary releases

Other frameworks: Vite RSC plugin, Parcel RSC plugin, React Router RSC preview, RedwoodSDK, and Waku are all affected.

Critically, projects scaffolded with create-next-app using recommended defaults ship with App Router enabled, meaning they are vulnerable out of the box without any additional configuration.

Active Exploitation: Nation-State Threat Actors Move Fast

The severity of React2Shell became painfully clear in the hours following disclosure. According to the AWS Security Blog, China-nexus threat groups Earth Lamia and Jackpot Panda began exploitation within hours of the public announcement.

By December 12, Google's Threat Intelligence Group (GTIG) had identified multiple additional China-nexus threat clusters. UNC6595 deployed the ANGRYREBEL.LINUX malware. UNC6600 delivered the MINOCAT tunneler. UNC6603 deployed an updated version of the HISONIC backdoor — a Go-based implant that uses legitimate cloud services like Cloudflare Pages and GitLab to retrieve encrypted configurations.

Cloudflare's threat brief provides staggering scale metrics. Across December 3–11, they recorded 582.10 million hits, averaging 3.49 million requests per hour with a peak of 12.72 million in a single hour. An average of 3,598 unique IPs and up to 6,387 unique User-Agents per hour were observed, indicating attackers used diverse tooling including Nuclei scanners, custom React2ShellScanner variants, Burp Suite, and python-requests libraries.

Targets included a national authority responsible for uranium and nuclear fuel trade, government websites, academic institutions, and SSL VPN appliances. Attack traffic concentrated on the Asia-Pacific region, specifically targeting AWS and Alibaba Cloud instances. Notably, attackers excluded Chinese IP space from their scanning, suggesting deliberate operational targeting parameters.

Patching Guide: Version-by-Version Upgrade Instructions

The only definitive remediation is immediate patching. Here are the exact commands for each scenario.

Next.js Applications

# Next.js 15.x users (upgrade to nearest patched minor)
npm install next@15.5.7 react@latest react-dom@latest

# Next.js 16.x users
npm install next@16.0.7 react@latest react-dom@latest

# Next.js 14.x canary users — downgrade to stable
npm install next@14.2.35

# TypeScript users must also update types
npm install @types/react@latest @types/react-dom@latest

Patched Next.js versions include: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, and 16.0.7.

Direct React Package Usage

# react-server-dom-webpack
npm install react-server-dom-webpack@19.0.1

# react-server-dom-parcel (use version matching your React minor)
npm install react-server-dom-parcel@19.2.1

Patched React versions: 19.0.1, 19.1.2, and 19.2.1.

Don't Forget the Follow-Up CVEs

After CVE-2025-55182 was patched, three additional vulnerabilities were discovered in the RSC protocol: CVE-2025-55183 (server function source code exposure), CVE-2025-55184 (DoS via cyclic Promise references), and CVE-2025-67779. These require upgrading to React 19.0.3, 19.1.4, or 19.2.3. The React security blog post from December 11 provides full details.

Detection and Defense: A Layered Approach

While patching is the top priority, organizations that cannot immediately upgrade need layered defenses.

WAF Rules from Major Cloud Providers

All major providers have deployed managed WAF rules:

  • AWS WAF: AWSManagedRulesKnownBadInputsRuleSet version 1.24+ provides automatic protection
  • Google Cloud Armor: Dedicated detection and blocking rules for CVE-2025-55182
  • Cloudflare: Six protective rules across free and paid tiers, all defaulting to Block action
  • Vercel: Automatic WAF protection for hosted projects — but explicitly warns "do not rely on the WAF for full protection"

Monitoring for Exploitation Attempts

Watch your logs for these indicators:

# Suspicious User-Agent strings
Nuclei - CVE-2025-55182
React2ShellScanner/1.0.0

# Request headers indicating targeting
POST requests containing "next-action" or "rsc-action-id" headers

# Payload patterns characteristic of the exploit
:constructor:constructor  (deserialization chain signature)
"status":"resolved_model"
$@ serialization marker
"_prefix", "_formData", internal field references

A sudden spike in HTTP 403 responses indicates your WAF is actively blocking exploitation attempts.

Vulnerability Scanning

The open-source react2shell-scanner from Assetnote can verify whether your applications are vulnerable. It sends a crafted multipart POST request that triggers a specific error condition — vulnerable hosts return a 500 status code with E{"digest" in the response body.

Temporary Mitigation

If immediate patching is impossible: applications not heavily using App Router functionality can migrate to the Pages Router as a temporary measure. Additionally, search your codebase for the 'use server' directive to identify all Server Function endpoints and restrict access to them at the network level.

Long-Term RSC Security Practices

React2Shell has fundamentally changed how the industry thinks about RSC security. The React team's official security advisory and the Next.js security guide both emphasize treating Flight protocol endpoints as a critical attack surface.

Developers must verify that database packages and environment variables are not imported outside a Data Access Layer. Server Components run in a separate module system from Client Components specifically to prevent information leakage, but this isolation only works when developers respect the boundaries. Automated dependency update tools like Dependabot or Renovate should be configured to fast-track security patches, and all internet-facing RSC endpoints should be inventoried and monitored continuously.

Act Now

React2Shell is among the most critical web ecosystem vulnerabilities since Log4Shell. If you're running Next.js 15.x or 16.x, upgrade immediately to the latest patched version. Deploy WAF rules but don't treat them as a substitute for patching. Verify that follow-up CVEs (55183, 55184, 67779) are also addressed. Inventory every internet-facing RSC endpoint in your infrastructure. As Cloudflare emphasized in their threat brief: "network-level protection is not a substitute for remediation at the source."

Sources:

비트베이크에서 광고를 시작해보세요

광고 문의하기

다른 글 보기

2026-04-06T01:04:04.271Z

Alternative Advertising Methods Crushing Traditional Ads in 2026: How Community-Based Marketing and Reward Systems Achieve 54% Higher ROI

2026-04-06T01:04:04.248Z

2026년 전통적 광고를 압도하는 대안적 광고 방식: 커뮤니티 기반 마케팅과 리워드 시스템이 54% 더 높은 ROI를 달성하는 방법

2026-04-02T01:04:10.981Z

The Rise of Gamification Marketing in 2026: Reward Strategies That Boost Customer Engagement by 150%

2026-04-02T01:04:10.961Z

2026년 게임화 마케팅의 부상: 고객 참여도 150% 증가시키는 리워드 전략

서비스

피드자주 묻는 질문고객센터

문의

비트베이크

레임스튜디오 | 사업자 등록번호 : 542-40-01042

경기도 남양주시 와부읍 수례로 116번길 16, 4층 402-제이270호

트위터인스타그램네이버 블로그