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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-42533 — Docker-лаборатория, воспроизводящая CVE-2026-42533 — pre-auth переполнение кучи в nginx и утечку информации через двухпроходное перезаписывание захвата, с PoC-скриптами и сравнением с исправленной версией. | Kitploit
Инструменты/GitHubGitHub/ivanesk315/cve-2026-42533
Сканеры уязвимостейАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьФаззингСтатьи и ИсследованияОбучение и ОбразованиеЛаборатории и Практика
GitHubivanesk315/cve-2026-42533

CVE-2026-42533

Docker-лаборатория, воспроизводящая CVE-2026-42533 — pre-auth переполнение кучи в nginx и утечку информации через двухпроходное перезаписывание захвата, с PoC-скриптами и сравнением с исправленной версией.

0 дней назадЕщё не проверено
Репозиторий

Популярное

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

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

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

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

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

Лаборатория CVE-2026-42533 — RCE через перезапись захватов при двухпроходной обработке в NGINX

CVSS 9.2 (критический) — переполнение буфера в куче до аутентификации + утечка информации в nginx Затронуто: nginx 0.9.6 – 1.30.3 / 1.31.2 | Исправлено: 1.30.4 / 1.31.3

Архитектура

root@kitploit:~
                    ┌─────────────────────────────────────┐
                    │           Хост-машина                │
                    │                                      │
  PoC-скрипты ──────┤  :8080 ──► nginx-vuln  (1.26.x)     │
                    │              │          УЯЗВИМ       │
                    │              ▼                        │
                    │           backend (Python echo)       │
                    │              ▲                        │
                    │              │                        │
                    │  :8081 ──► nginx-patched (1.30.4)     │
                    │                          БЕЗОПАСНО   │
                    └─────────────────────────────────────┘

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

root@kitploit:~
# Build and start
docker compose up --build -d

# Verify
curl http://localhost:8080/health
curl http://localhost:8081/health

# Run PoC
python3 poc_overflow.py          # Heap overflow (crash worker)
python3 poc_infoleak.py          # Info leak (heap residue)
bash poc_curl.sh                 # Quick curl-based tests

# Compare with patched
python3 poc_overflow.py localhost 8081
python3 poc_infoleak.py localhost 8081

# Check for crashes
docker logs nginx-vuln 2>&1 | grep -iE 'signal|segfault|abort'

# Cleanup
docker compose down

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

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

nginx вычисляет значения директив (proxy_set_header, return, add_header и т. д.) в два прохода, используя общий изменяемый массив r->captures:

ПроходНазначениеЧитает r->captures
LENИзмеряет необходимый размер буфераДа — чтобы получить длину $1
(здесь вычисляется regex map, ПЕРЕЗАПИСЫВАЯ r->captures)
VALUEЗаписывает данные в выделенный буферДа — но теперь $1 указывает в другое место

Уязвимый шаблон конфигурации

root@kitploit:~
map $http_user_agent $is_bot {
    ~*(bot|crawl|spider)  1;         # ← regex map = clobber trigger
    default               0;
}

location ~ "^/api/v1/(.+)$" {       # ← regex capture source
    proxy_set_header X-Route "$1 — $is_bot";   # ← two-pass sink
    #                         ^^    ^^^^^^^
    #                  capture ref + map var in same buffer = BUG
}

Направления атаки

НаправлениеРазмер URIРазмер входных данных mapРезультат
ПереполнениеКороткий (3 Б)Длинный (4096 Б)LEN выделяет мало, VALUE записывает много → переполнение кучи
Утечка информацииДлинный (8000 Б)Короткий (5 Б)LEN выделяет много, VALUE записывает мало → остаточные данные кучи в ответе

Сценарии лаборатории

ЭндпоинтСтокТриггер mapДемонстрация
/api/v1/{path}proxy_set_header$is_bot (User-Agent)Переполнение
/leak/{path}return + add_header$ref_domain (Referer)Утечка информации
/rce/{path}set + return$is_bot (User-Agent)Переполнение
/safe/{path}return (без map)НетКонтроль (безопасно)

Файлы

ФайлНазначение
docker-compose.ymlОркестрация лаборатории
Dockerfile.nginx-vulnУязвимый nginx 1.26.x
Dockerfile.nginx-patchedИсправленный nginx 1.30.4
nginx-vuln.confУязвимая конфигурация с аннотированными шаблонами
backend.pyEcho-сервер для проверки проксируемых заголовков
poc_overflow.pyPoC переполнения кучи (с нарастающими размерами полезной нагрузки)
poc_infoleak.pyPoC утечки информации (обнаружение остаточных данных кучи)
poc_curl.shБыстрые тесты на основе curl

Обнаружение

Используйте сканер конфигураций:

root@kitploit:~
python3 nginx_capture_clobber_scan.py /etc/nginx/nginx.conf

Митигация (без патча)

  1. Разделяйте regex-захваты и переменные regex map по разным директивам/локациям
  2. Используйте именованные захваты и ссылайтесь на них только внутри блока, содержащего regex-совпадение
  3. Избегайте regex-шаблонов ~ / ~* в map, когда захваты используются в других местах

Ссылки

  • Отчёт исследователя (cyberstan.co.uk)
  • Запись в NVD
  • Сканер конфигураций
  • Рекомендации nginx

ТОЛЬКО ДЛЯ ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ И АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ.

Скачать инструмент