• News
  • Security
  • Products
  • About Seqrite
Blogs on Information Technology, Network & Cybersecurity | Seqrite Blog
  • News
  • Security
  • Products
  • About Seqrite
Home  /  Technical  /  React2Shell (CVE-2025-55182): RSC Flight Decoder Remote Code Execution
11 December 2025

React2Shell (CVE-2025-55182): RSC Flight Decoder Remote Code Execution

Written by Vineet Sarote
Vineet Sarote
Technical

React is a JavaScript library used to build interactive user interfaces using reusable components. React Server Components (RSC) extend this model by allowing certain components and logic to run on the server, rather than in the browser.

Frameworks like next.js heavily rely on RSC, making security flaws in this area especially impactful.

Vulnerability Overview

CVE-2025-55182 is a critical remote code execution (RCE) vulnerability in React Server Components.

  • Attack type: Remote Code Execution
  • Authentication required: No
  • User interaction: None
  • Severity: Critical
  • Affected ecosystem: React RSC, Next.js

An attacker can send a crafted request to an RSC endpoint and execute arbitrary code on the server.

Vulnerability Deep Dive

React Server Components use a custom wire format called the flight protocol.

The Flight payload is responsible for:

  • Transmitting server-rendered component output
  • Passing props and resources
  • Referencing server functions
  • Reconstructing a JavaScript object graph on the server

When a server receives a Flight request:

  1. Reacts decodes the payload
  2. Resolves references
  3. Rebuilds JavaScript objects
  4. Executes server-side logic as needed

This decoding step is where the vulnerability exists.

Root Cause

The root cause of the vulnerability lies in how object properties were resolved during decoding of Flight protocol data.

When react decoded incoming payloads, it used property names supplied by the payload to access values on JavaScript objects without checking whether those properties belonged to the object itself.

In JavaScript, accessing a property like object[key] does not limit the lookup to properties explicitly defined on object.

If the property is not found, JavaScript automatically continues searching up the prototype chain. This behaviour becomes dangerous when the property name (key) is attacker-controlled.

Exploit mechanics

  • Attacker sends a crafted Flight payload via POST to a framework route that accepts RSC/Server Function payloads.
  • If multipart is used, Busboy parses the stream and emits chunks consumed by react’s decoder.
  • Decoder resolves references using attacker-influenced property names without own-property checks.
  • Prototype-chain properties become reachable, enabling gadget-based escalation to RCE.

Patch analysis

The patch synchronizes server-side and client-side flight protocol handling and fixes a critical security issue by hardening how react server components decode and resolve module exports. It adds explicit own-property checks using hasOwnProperty before returning values from module export objects, preventing attacker-controlled keys from resolving inherited prototype properties. Additionally, it improves multipart payload decoding robustness by adding error handling around field and file processing. Together, these changes stop unsafe property resolution that previously enabled prototype-chain access during deserialization.

Exploitation Activity and Related Malware Campaigns

Malware Campaigns

 

Exploitation Chain involving React2Shell
Cryptojacking Campaign The attackers exploited React2Shell to execute a dropper bash script that downloaded multiple second-stage payloads, including additional scripts and gzip-compressed files.

 

Cryptojacking Campaign

 

Attackers abused the vulnerability to deploy Mirai botnet components and xmrig crypto miners for large-scale cryptojacking.

 

UNC6600 – MINOCAT Attackers exploited the vulnerability to gain remote code execution and executed bash scripts that deployed the MINOCAT tunneler, enabling persistence and covert network access.

 

UNC6586 – SNOWLIGHT Using curl or wget, attackers retrieved and executed the SNOWLIGHT downloader, which functions as a backdoor and enables additional payload delivery.

 

UNC6588 – COMPOOD Attackers used wget to download and execute the COMPOOD backdoor, which masquerades as a legitimate binary to maintain persistent access.

 

 

Mitigation & Recommendations

  • Upgrade React / RSC packages (primary fix)

Upgrade to patched React releases that pull in fixed RSC server packages (react-server-dom-webpack / react-server-dom-parcel / react-server-dom-turbopack) e.g., 19.0.1 / 19.1.2 / 19.2.1 (or newer).

  • Reduce exposure of Server Action / RSC routes

Where feasible, ensure server action/RSC handling routes are not publicly exposed without appropriate access control.

  • Deploy IPS/WAF rules

Use IPS signatures or WAF custom rules to detect and block multipart payloads containing prototype pollution keys or malformed flight markers.

Quick Heal protection

All Quick Heal customers are protected from this vulnerability using below signatures:

  • HTTP/CVE-2025-55182!VS.50159
  • HTTP/CVE-2025-55182!VS.50160
  • HTTP/CVE-2025-55182!VS.50161
  • HTTP/CVE-2025-55182!VS.50162

 

Authors:

Vinay Kumar

Adrip Mukherjee

Vineet Sarote

 Previous PostDeceptive Layoff-Themed HR Email Distributes Remcos RAT Malware
Next Post  Operation MoneyMount-ISO — Deploying Phantom Stealer via ISO-Mo...
Vineet Sarote

About Vineet Sarote

...

Articles by Vineet Sarote »

Related Posts

  • UNG0801: Tracking Threat Clusters obsessed with AV Icon Spoofing targeting Israel

    December 22, 2025
  • Indian Income Tax-Themed Phishing Campaign Targets Local Businesses

    December 22, 2025
  • Operation MoneyMount-ISO — Deploying Phantom Stealer via ISO-Mounted Executables

    December 12, 2025
Featured Authors
  • Seqrite
    Seqrite

    Seqrite is a leading enterprise cybersecurity solutions provider. With a focus...

    Read more..
  • Jyoti Karlekar
    Jyoti Karlekar

    I'm an avid writer who enjoys crafting content about emerging technologies and...

    Read more..
  • Bineesh P
    Bineesh P

    I am a passionate cybersecurity enthusiast and a dedicated writer. With a knack...

    Read more..
  • Sanjay Katkar
    Sanjay Katkar

    Sanjay Katkar is the Joint Managing Director of Quick Heal Technologies...

    Read more..
Topics
apt (25) Cyber-attack (36) cyber-attacks (58) cyberattack (16) cyberattacks (15) Cybersecurity (334) cyber security (34) Cyber threat (33) cyber threats (50) data breach (56) data breaches (29) data loss (28) data loss prevention (33) data privacy (14) data protection (30) data security (15) DLP (49) DPDP (13) DPDPA (14) Encryption (16) endpoint security (110) Enterprise security (18) Exploit (13) GDPR (13) malware (76) malware analysis (13) malware attack (23) malware attacks (12) MDM (27) Microsoft (15) Network security (24) Patch Management (12) phishing (29) Ransomware (69) ransomware attack (30) ransomware attacks (30) ransomware protection (14) Seqrite (40) Seqrite Encryption (27) Seqrite EPS (33) Seqrite Services (16) Threat Intelligence (13) UTM (34) Vulnerability (16) zero trust (13)
Loading
Resources
  • White Papers
  • Datasheets
  • Threat Reports
  • Manuals
  • Case Studies
About Us
  • About Seqrite
  • Leadership
  • Awards & Certifications
  • Newsroom
Archives
  • By Date
  • By Category
Loading

© 2026 Quick Heal Technologies Ltd. Cookie Policies Privacy Policies