Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
react-rsc-cve-2025-55182-lab — Educational lab demonstrating CVE-2025-55182: Critical RCE in React Server Components via prototype pollution in the Flight protocol | Kitploit
Tools/GitHubGitHub/jeanback1/react-rsc-cve-2025-55182-lab
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationCTFLearning & EducationLabs & Practice
GitHubjeanback1/react-rsc-cve-2025-55182-lab

react-rsc-cve-2025-55182-lab

Educational lab demonstrating CVE-2025-55182: Critical RCE in React Server Components via prototype pollution in the Flight protocol

View Repository
23 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-55182 Lab — React Server Components RCE

Docker License CVE

Educational lab demonstrating CVE-2025-55182 — a critical (CVSS 10.0) Remote Code Execution vulnerability in React Server Components caused by prototype pollution in the Flight protocol deserializer.

Disclaimer: This repository is for educational and authorized security research purposes only. Unauthorized access to computer systems is illegal. The author assumes no liability for misuse of this material. Only use against systems you own or have explicit written permission to test. By using this code, you agree that you are responsible for your own actions.


Quick Start

root@kitploit:~
# 1. Clone
git clone https://github.com/Jeanback1/react-rsc-cve-2025-55182-lab.git
cd react-rsc-cve-2025-55182-lab

# 2. Start the lab (vulnerable + patched instances)
docker compose up -d

# Wait ~2 minutes for both containers to build and start.

# 3. Exploit the vulnerable instance
python exploit/exploit.py http://localhost:3011 id

# 4. Try the same against the patched instance — it fails
python exploit/exploit.py http://localhost:3012 id

Lab Architecture

root@kitploit:~
                  docker compose
                 ┌────────────────────────────────┐
                 │                                │
   attacker ────▶│  :3011 → rsc-lab-vulnerable    │  React 19.2.0
                 │           (Server Action)       │  ← exploitable
                 │                                │
                 │  :3012 → rsc-lab-patched        │  React 19.2.1
                 │           (no Server Action)    │  ← patched
                 └────────────────────────────────┘
ContainerPortReact VersionServer ActionVulnerable?
rsc-lab-vulnerable301119.2.0YesYes
rsc-lab-patched301219.2.1NoNo

Requirements

  • Docker + Docker Compose v2
  • Python 3.8+ with requests (pip install requests)

Files

root@kitploit:~
├── docker-compose.yml        # Lab orchestration
├── README.md                 # This file
├── LICENSE
│
├── vulnerable/               # Vulnerable Next.js app
│   ├── Dockerfile
│   ├── package.json          # [email protected], [email protected]
│   └── app/
│       ├── layout.tsx
│       ├── page.tsx          # Server Component + Server Action
│       └── actions.ts        # 'use server' — the attack surface
│
├── patched/                  # Patched Next.js app
│   ├── Dockerfile
│   ├── package.json          # [email protected], [email protected]
│   └── app/
│       ├── layout.tsx
│       └── page.tsx          # Server Component only (no Server Actions)
│
├── exploit/
│   ├── exploit.py            # Educational RCE exploit (well-commented)
│   ├── requirements.txt
│   └── pyproject.toml
│
└── docs/
    └── CVE-2025-55182.md     # Full technical analysis

Exploit Usage

root@kitploit:~
# Single command execution
python exploit/exploit.py <target> <command>

# Examples
python exploit/exploit.py http://localhost:3011 id
python exploit/exploit.py http://localhost:3011 "cat /etc/passwd"
python exploit/exploit.py http://localhost:3011 "ls -la /app"

The exploit works in three stages:

  1. Build a Flight payload with __proto__ traversal → pollute Object.prototype.then
  2. Send the payload as multipart/form-data via the Server Action endpoint
  3. Extract command output from the X-Action-Redirect response header (base64-encoded)

Affected Versions

PackageVulnerablePatched
react≤ 19.2.0≥ 19.2.1
react-dom≤ 19.2.0≥ 19.2.1
react-server-dom-webpack≤ 19.2.0≥ 19.2.1

Technical Deep Dive

See docs/CVE-2025-55182.md for a full walkthrough:

  • How the Flight protocol works
  • Why __proto__ traversal is dangerous
  • Step-by-step exploit chain
  • Detection and mitigation strategies

References

  • React Security Advisory — December 2025
  • CWE-502: Deserialization of Untrusted Data
  • Next.js Server Actions
Download Tool