The CVSS 10 React Vulnerability: CVE-2025-55182

React is a popular JavaScript library used to build modern, interactive web interfaces. It helps developers create UI components that update efficiently when data changes. React runs mostly in the browser, handling:

  • UI rendering
  • State updates
  • User interactions

Next.js is a full-stack framework built on React. It adds server-side capabilities. This allows developers to build faster, more scalable applications where:

  • Part of the logic runs in the browser
  • Part runs on the server

Next.js manages this hybrid environment automatically, making it easy to deliver high-performance, SEO-friendly websites and complex full-stack applications.

React Server Components (RSC) is a system used by frameworks like Next.js to render parts of a webpage on the server and stream the results to the client. It uses the Flight protocol to exchange serialized component data. This improves performance but also exposes a structured input surface that must be validated, which became the root of CVE-2025-55182.

CVE-2025-55182

CVE-2025-55182 is a deserialization and object traversal vulnerability inside the React Server Component (RSC) protocol, also known as the flight protocol.

RSC allows clients to request server-rendered data using a structured protocol. The server receives multipart form-data describing:

  • component state
  • functions to invoke
  • internal object references

However, the RSC parser did not validate traversal paths, allowing attackers to craft custom paths that intentionally walk through JavaScript’s prototype chain.

This mistake turns a seemingly harmless metadata protocol into a pathway for full server compromise.

Root Cause Analysis

1. The Flight Protocol Accepts Path Markers

React internally uses markers, which are meant to help reconstruct server-side objects.

$1:<object>:<property>

2. Missing Validation

The parser failed to confirm whether paths referenced allowed objects. Attackers discovered they could supply values like:

 

 

 

This allows access to JavaScript internals such as:

  • object prototypes
  • constructors
  • built-in function constructors

3. Escalation to Code Execution

Following this path chain leads to the JavaScript Function constructor, effectively allowing execution of arbitrary code:

Function(“payload”)()

Frameworks built on RSC, such as Next.js, were especially at risk because they expose RSC endpoints by default.

How the Exploit Works (Step-by-Step)

1. The attacker submits a crafted multipart/form-data request

This request includes headers like:

 

 

 

 

2. Malicious path markers

Inside one of the parts, the attacker includes:

 

 

 

These tell the server to traverse the object graph in dangerous ways.

3. Prototype pollution occurs

The server tries to reconstruct objects, inadvertently applying attacker-controlled paths to server objects.

4. Arbitrary function creation

By navigating through the constructor chain, the attacker reaches:

    Function(“payload”)()

5. Full Remote Code Execution

One observed payload (from real-world PoCs) was:

 

 

This directly invokes Node.js modules such as

  • fs
  • child_process
  • process

From here, an attacker can read files, spawn shells, or run system commands.

 

 

 

 

 

 

 

 

 

 

 

 

 

Impact

CVE-2025-55182 is extremely severe because:

It enables unauthenticated RCE: No login or prior access needed.

It widely affects adopted frameworks: Applications using RSC in Next.js were especially vulnerable.

Exploitation is trivial once the endpoint is exposed: PoCs require only simple multipart requests.

A compromised server may leak:

  • environment variables
  • database credentials
  • source code
  • system files
  • cloud metadata

Attackers can pivot into the infrastructure: Compromised Node.js processes can be used to establish persistence.

 

Mitigation / Recommendations

Apply the official patches:-

Upgrade to the latest versions of:

  • React
  • Next.js
  • Any framework using RSC/Flight protocol

Disable or restrict RSC endpoints if unused: Many applications don’t actually rely on RSC features.

Apply WAF/IPS rules:

Block multipart requests containing:

$1:__proto__

$1:constructor

Isolate affected systems: If you detect exploitation attempts, treat the server as compromised.

Quick Heal Protection

All Seqrite customers are protected from this vulnerability by the following 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

The post The CVSS 10 React Vulnerability: CVE-2025-55182 appeared first on Blogs on Information Technology, Network & Cybersecurity | Seqrite.