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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-42533 — Воспроизведение proof-of-concept переполнения кучи и утечки информации в nginx (CVE-2026-42533) с двумя поверхностями атаки, отладочным анализом и полной цепочкой RCE. | Kitploit
Инструменты/GitHubGitHub/jelasin/cve-2026-42533
Динамический анализ (песочница)Анализ уязвимостейАнализ КодаЭксплуатацияОтладчикиВеб-безопасностьЭксплуатация Бинарных Файлов
GitHubjelasin/cve-2026-42533

CVE-2026-42533

Воспроизведение proof-of-concept переполнения кучи и утечки информации в nginx (CVE-2026-42533) с двумя поверхностями атаки, отладочным анализом и полной цепочкой RCE.

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

Популярное

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

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

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

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

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

CVE-2026-42533 — перезапись при двухпроходном захвате в nginx (two-pass capture clobbering)

Переполнение кучи до аутентификации + утечка информации в движке скриптов сложных значений nginx (0.9.6–1.30.3 / mainline ≤1.31.2); CVSS 9.2. Один корень — две поверхности эксплуатации: HTTP (regex location + regex map) и stream (ssl_preread + SNI + regex map).

Глубокий технический анализ и исправления — в ANALYSIS.md.

Структура проекта

root@kitploit:~
.
├── ANALYSIS.md            # Глубокий анализ (первопричина / двухпроходное выполнение / динамические доказательства / цепочка RCE + исправления)
├── README.md              # Этот файл (индекс)
├── http/                  # ① Воспроизведение чёрным ящиком варианта HTTP (поверхность classmethod)
│   ├── nginx.conf             #   Уязвимая конфигурация (regex location + regex map)
│   ├── docker-compose.yml     #   nginx:1.30.3 (уязв., :8081) против 1.30.4 (испр., :8082)
│   ├── test.sh                #   Тесты по трём направлениям: clobber / overflow / leak
│   └── repro.py               #   PoC, автоматически извлекает утёкшие указатели кучи/остаточные данные
├── debug/                # ② Debug-сборка варианта HTTP + динамический анализ через pwndbg/gdb
│   ├── Dockerfile(.buster) / docker-compose.yml(.buster) / nginx.debug.conf
│   ├── gdb.py                 #   Трассировка двухпроходного выполнения + предупреждения о несоответствии LEN/VALUE (ядро)
│   ├── attach.sh / extract-symbols.sh / trace_one.sh
│   ├── recon/                 #   Скрипты разведки раскладки кучи (recon.py / recon2/4/5.py)
│   └── README.md              #   Подробнее в этом каталоге
└── stream-rift/          # ③ Полная цепочка RCE для варианта stream (воспроизведено: echo pwned)
    ├── Dockerfile / docker-compose.yml / nginx.conf / server.py / entrypoint.sh
    ├── poc.py                 #   Полная цепочка (утечка→спрей→поддельный pool→system), техника из публичного раскрытия
    └── README.md              #   Заявление об авторстве + инструкция по запуску

debug/src, debug/symbols*, debug/logs* создаются скриптом extract-symbols.sh (DWARF-бинарник + дерево исходников), добавлены в .gitignore, можно пересобрать.

Три компонента

① Вариант HTTP — воспроизведение чёрным ящиком (clobber / overflow / leak)

root@kitploit:~
cd http
docker compose up -d                       # 1.30.3 (уязв.) + 1.30.4 (испр.)
./test.sh                                  # Сравнение по трём направлениям
python3 repro.py --vuln http://localhost:8081 --fixed http://localhost:8082   # Разбор утечки

② Вариант HTTP — debug-сборка + динамический анализ через pwndbg

root@kitploit:~
cd debug
docker compose build && docker compose up -d           # Debug-сборка (--with-debug + DWARF)
./extract-symbols.sh                                    # Вытянуть бинарник+исходники на хост для gdb
./attach.sh                                             # gdbserver подключается к worker (:2333)
gdb -x gdb.py                                           # Загрузка pwndbg; после c — отправить запрос с хоста

Подробнее в debug/README.md.

③ Вариант stream — полный RCE (echo pwned > /tmp/pwn)

root@kitploit:~
cd stream-rift
docker compose build && docker compose up -d            # nginx 1.31.1 (jammy/glibc2.35)
python3 poc.py --host 127.0.0.1 --port 29443 --leak                       # Утечка heap/libc/system
python3 poc.py --host 127.0.0.1 --port 29443 --cmd 'echo pwned > /tmp/pwn'
docker compose exec nginx-rce cat /tmp/pwn              # → pwned (владелец nobody = worker)

Технология из публичного раскрытия DepthFirstDisclosures/Nginx-Rift; подробнее в stream-rift/README.md.

Сводка результатов

ВоздействиеВариант HTTPВариант stream
Утечка информации (heap/PIE + остаточные данные)✅ стабильно✅ стабильно
DoS (abort worker)✅ стабильно✅ стабильно
Произвольное выполнение кода❌ нет публичного PoC (самостоятельная инженерия)✅ воспроизведено (stream-rift/)

Полная цепочка stream работает на современной glibc 2.35 (без смягчений): диспетчеризация cleanup происходит до free() в ngx_destroy_pool, system() успевает выполниться до abort. Надёжность «частичная» (heap-фен-шуй, попадание примерно с 1–2 попыток, требуются повторы); смещения привязаны к данной сборке.

Предварительные требования

Docker + Compose; локальный gdb (+ pwndbg, загружайте привычным способом); pip install requests (http/repro.py).

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