Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
nginx-rift-scanner — Сканер только для обнаружения CVE-2026-42945 (NGINX Rift) — переполнение кучи в ngx_http_rewrite_module. Определение версии + анализ паттернов nginx.conf. Только стандартная библиотека Python 3, без сетевых вызовов. | Kitploit
Инструменты/GitHubGitHub/simota/nginx-rift-scanner
Статический анализСканеры уязвимостейАнализ уязвимостейАнализ КодаАудит конфигурацииВеб-безопасность
GitHubsimota/nginx-rift-scanner

nginx-rift-scanner

Сканер только для обнаружения CVE-2026-42945 (NGINX Rift) — переполнение кучи в ngx_http_rewrite_module. Определение версии + анализ паттернов nginx.conf. Только стандартная библиотека Python 3, без сетевых вызовов.

Репозиторий
133 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

nginx-rift-scanner

Сканер для Python 3 без внешних зависимостей для CVE-2026-42945 ("NGINX Rift") — критическое переполнение буфера в куче (CWE-122) по CVSS v4.0 9.2 CRITICAL в ngx_http_rewrite_module.

Что обнаруживает

При каждом запуске выполняются две независимые проверки:

ПроверкаМетод
Версияnginx -V, dpkg/rpm/apk, теги образов Dockerfile/compose
Паттерн конфигурацииРазбор nginx.conf с учётом фигурных скобок + всех подключаемых через include файлов

Затронутые версии

ИзданиеУязвимыеИсправленные
NGINX OSS0.6.27 – 1.30.11.31.0+ (или пропатченная 1.30.1)
NGINX PlusR32 до R32P6R32P6+
NGINX PlusR36 до R36P4R36P4+
NGINX PlusR37+Не затронута

Примечание по 1.30.1: пропатченная стабильная сборка 1.30.1 сообщает ту же строку версии, что и уязвимая, поэтому сканер относит любую 1.30.1 к POTENTIALLY_VULNERABLE (exit 1, консервативно). Проверьте журнал изменений пакета / бэкпорт из бюллетеня, чтобы подтвердить установку патча.

Паттерн срабатывания по конфигурации

Блок области (scope) помечается, когда выполняются все три условия:

  1. Директива rewrite, if или set использует ссылку на безымянную группу захвата PCRE ($1–$9, включая форму с фигурными скобками ${1}–${9}).
  2. В аргументе значения/замены этой директивы присутствует символ ? (для rewrite/set аргумент с регулярным выражением исключается — ? там является квантификатором PCRE; условия if проверяются консервативно).
  3. За этой директивой в той же области следует ещё одна директива rewrite/if/set (подключаемые через include файлы встраиваются в объемлющую область, поэтому пары, пересекающие границу include, обнаруживаются).

Быстрый старт

root@kitploit:~
# Clone and run
git clone https://github.com/simota/nginx-rift-scanner.git
cd nginx-rift-scanner

# Scan local nginx (binary in PATH, config at /etc/nginx/nginx.conf)
python3 scripts/scan_nginx_rift.py

# Custom paths
python3 scripts/scan_nginx_rift.py \
  --nginx-binary /usr/sbin/nginx \
  --config /etc/nginx/nginx.conf \
  --prefix /etc/nginx \
  --scan-dir /app

# JSON output (CI / SIEM)
python3 scripts/scan_nginx_rift.py --json

# Validate with included fixtures
python3 scripts/scan_nginx_rift.py --config fixtures/vulnerable.nginx.conf
python3 scripts/scan_nginx_rift.py --config fixtures/safe.nginx.conf

Коды выхода: 0 = чисто, 1 = обнаружена уязвимая / потенциально уязвимая версия или сработал паттерн конфигурации.

Параметры

ФлагПо умолчаниюОписание
--nginx-binary PATHnginxПуть к исполняемому файлу nginx
--config PATH/etc/nginx/nginx.confКорневой конфиг nginx для сканирования
--prefix PATHкаталог --configПрефикс конфигурации nginx, используемый для разрешения относительных путей include (nginx разрешает их относительно префикса, а не каталога включаемого файла)
--scan-dir PATH.Каталог для поиска Dockerfile/файлов compose
--json—Вывести JSON-отчёт в stdout

Устранение уязвимости

Обновление (предпочтительно):

  • OSS → NGINX ≥ 1.31.0 (или примените стабильный патч 1.30.1)
  • Plus → R32P6+, R36P4+ или R37+

Обходной путь — замените безымянные группы захвата именованными в каждой директиве rewrite/if/set, которая также содержит ?:

root@kitploit:~
# Vulnerable
rewrite ^/api/(\w+)$ /new-api?path=$1 last;

# Safe
rewrite ^/api/(?<action>\w+)$ /new-api?path=$action last;

Примечание о ложных срабатываниях

Результаты проверки конфигурации являются эвристическими. Помеченная директива не гарантирует эксплуатируемость — символ ? может находиться не в пути построения URI, или ссылка на группу захвата может не взаимодействовать с переполняемым выделением памяти. Каждое обнаружение должно быть проверено человеком перед расстановкой приоритетов по устранению.

Требования

  • Python 3.6+ (только стандартная библиотека — без установки через pip)
  • бинарный файл nginx (необязательно — при отсутствии проверка версии пропускается)

Тестовые примеры

ФайлОжидаемый результат
fixtures/vulnerable.nginx.conf3 обнаружения в конфигурации, exit 1
fixtures/safe.nginx.conf0 обнаружений в конфигурации, exit 0

Тесты

root@kitploit:~
python3 -m unittest discover -s tests -v

Ссылки

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • F5 Advisory K000161019: https://my.f5.com/manage/s/article/K000161019
Скачать инструмент