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

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

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

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

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

Категории

Все категории
Loading categories
cve-2026-42945-scan — Проверьте вашу конфигурацию NGINX, чтобы определить, затронута ли она уязвимостью CVE-2026-42945. | Kitploit
Инструменты/GitHubGitHub/realityone/cve-2026-42945-scan
Статический анализСканеры уязвимостейАудит конфигурацииВеб-безопасностьНеправильная Конфигурация
GitHubrealityone/cve-2026-42945-scan

cve-2026-42945-scan

Проверьте вашу конфигурацию NGINX, чтобы определить, затронута ли она уязвимостью CVE-2026-42945.

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

Популярное

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

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

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

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

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

cve-2026-42945-scan

Статический сканер для конфигурационных файлов NGINX, который обнаруживает шаблон rewrite/set, связанный с CVE-2026-42945.

Сканер обрабатывает конфиги NGINX с помощью crossplane, обходит блоки location и выводит каждый потенциально уязвимый location в следующем формате:

root@kitploit:~
/<path-to>/xxx.conf:<line-number> -> location XXXXX

Пример:

root@kitploit:~
/path/to/nginx.conf:39 -> location ~ ^/api/(.*)$

Ссылка: CVE-2026-42945-POC.

Требования

  • Python 3.10 или новее
  • uv

Зависимости управляются с помощью uv в pyproject.toml и закреплены в uv.lock. Единственная зависимость времени выполнения — .

crossplane

Настройка

Из корня репозитория:

root@kitploit:~
uv sync

Вы также можете пропустить отдельный шаг настройки и позволить uv run создать окружение при первом использовании.

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

Сканирование одного конфигурационного файла:

root@kitploit:~
uv run ./scan.py /etc/nginx/nginx.conf

Рекурсивное сканирование директории:

root@kitploit:~
uv run ./scan.py -r /etc/nginx

Рекурсивное сканирование из текущей директории для файлов *.conf:

root@kitploit:~
uv run ./scan.py -r './*.conf'

Заключайте glob-шаблоны в кавычки, если хотите, чтобы сканер разворачивал их рекурсивно. Если ваша оболочка сначала раскроет ./*.conf, сканер получит только файлы, совпадающие с шаблоном в оболочке.

Сканирование только указанных файлов без обработки директив include:

root@kitploit:~
uv run ./scan.py --single ./site.conf

Показать предупреждения парсера, включая отсутствующие файлы include:

root@kitploit:~
uv run ./scan.py -v -r /etc/nginx

Версия на Go

Реализация на Go с тем же форматом вывода и кодами завершения доступна в папке go/. Она использует nginx-go-crossplane для парсинга конфигов NGINX и pflag для флагов командной строки. Требуется Go 1.23 или новее.

Запуск с помощью go run:

root@kitploit:~
cd go
go run . -r ../tests/fixtures

Когда обнаружены опасные места, сканер завершается с кодом 1. go run выведет дополнительную строку exit status 1 в таком случае; соберите бинарный файл, если нужен только вывод сканера.

Сборка автономного бинарного файла:

root@kitploit:~
cd go
go build -o cve-2026-42945-scan-go .
./cve-2026-42945-scan-go -r ../tests/fixtures

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

Опасный шаблон конфигурации — это location, который содержит:

  • директиву rewrite, в замене которой присутствует неэкранированный ?
  • отсутствие терминального флага перезаписи (last, break, redirect или permanent)
  • последующую директиву set, копирующую захват регулярного выражения, например $1, ${1}, $name или ${name}

Пример уязвимого шаблона:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}

Сканер сообщает о строке location, а не о строке rewrite или set, поскольку именно location является блоком, который нужно проверить и исправить.

Тестовые фикстуры

Директория tests/fixtures/ содержит небольшие конфиги NGINX, которые можно использовать в качестве примеров:

ФикстураОжидаемый результат
tests/fixtures/vulnerable.confсообщает о находке с позиционным захватом
tests/fixtures/named_capture.confсообщает о находке с именованным захватом
tests/fixtures/missing_include_still_scans.confсообщает о находке, даже если отсутствует include
tests/fixtures/safe_break_flag.confнаходок нет, так как rewrite использует break
tests/fixtures/safe_no_capture.confнаходок нет, так как захват недоступен

Запуск сканера на всех примерах фикстур:

root@kitploit:~
uv run ./scan.py -r tests/fixtures

Ожидаемые находки:

root@kitploit:~
/absolute/path/to/tests/fixtures/missing_include_still_scans.conf:6 -> location ~ ^/partial/(.*)$
/absolute/path/to/tests/fixtures/named_capture.conf:2 -> location /users
/absolute/path/to/tests/fixtures/vulnerable.conf:2 -> location ~ ^/api/(.*)$

Вывод

Если найдены затронутые location, каждый результат выводится на отдельной строке:

root@kitploit:~
/absolute/path/to/file.conf:30 -> location ~ ^/aaaa/dddd/(.*)$
/absolute/path/to/nginx.conf:39 -> location ~ ^/api/(.*)$

Отсутствие вывода означает, что в проанализированной конфигурации не найдено ни одного затронутого location.

Ограничения

Это статический сканер конфигурации. Он не выполняет:

  • проверку версии работающего NGINX
  • доказательство эксплуатационной возможности
  • выполнение или тестирование запросов к серверу
  • полную оценку динамических переменных или генерируемых конфигураций
  • обнаружение уязвимых фрагментов, скрытых в отсутствующих файлах include

Относитесь к находкам как к местам, требующим проверки и устранения. Хост считается реально затронутым только при одновременном наличии уязвимого диапазона версий NGINX и опасного шаблона конфигурации.

Разработка

Запуск набора тестов:

root@kitploit:~
uv run python -m unittest discover -s tests -v

Запуск тестов на Go:

root@kitploit:~
cd go
go test ./...

Проверка синтаксиса:

root@kitploit:~
uv run python -m py_compile scan.py

Запуск на прилагаемой конфигурации POC:

root@kitploit:~
uv run ./scan.py CVE-2026-42945-POC/env/nginx.conf

Ожидаемый результат:

root@kitploit:~
/absolute/path/to/CVE-2026-42945-POC/env/nginx.conf:39 -> location ~ ^/api/(.*)$
Скачать инструмент