Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
PoC-CVE-2025-69420 — CVE-2025-69420のクラッシュ専用PoC。不正なESS signing-certificate属性によるOpenSSLのTimeStamp Response検証における型混乱脆弱性の実証。 | Kitploit
ツール/GitHubGitHub/kha-beleh/poc-cve-2025-69420
脆弱性分析エクスプロイトファジング暗号化学習と教育バイナリエクスプロイト
GitHubkha-beleh/poc-cve-2025-69420

PoC-CVE-2025-69420

CVE-2025-69420のクラッシュ専用PoC。不正なESS signing-certificate属性によるOpenSSLのTimeStamp Response検証における型混乱脆弱性の実証。

リポジトリを見る
29日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CVE-2025-69420 — OpenSSL TimeStamp Response 型混乱 PoC

OpenSSL における CVE-2025-69420 のクラッシュ専用実験室再現器。PoC は有効な RFC 3161 TimeStamp Response を読み込み、署名済み ESS 属性をメモリ上で V_ASN1_SEQUENCE から V_ASN1_NULL に変更し、TS_RESP_verify_response() を呼び出します。

影響を受けるビルドでは、ossl_ess_get_signing_cert_v2() または ossl_ess_get_signing_cert() が、アクティブな型を検証せずに ASN1_TYPE ユニオンにシーケンスとしてアクセスします。UBSan は null の ASN1_STRING ポインタを通したメンバアクセスを報告します。想定される影響はプロセスの終了 / サービス拒否です。このリポジトリにはコード実行ロジックは含まれていません。

確認された結果

提供されたテスト出力は問題を確認しています:

root@kitploit:~
runtime error: member access within null pointer of type 'struct ASN1_STRING'
#0 ossl_ess_get_signing_cert_v2
#1 ts_check_signing_certs
#2 TS_RESP_verify_signature
#3 int_ts_RESP_verify_token
#4 TS_RESP_verify_response

これは脆弱性の説明と一致します。不正な TimeStamp Response が TS_RESP_verify_response() に到達し、V_ASN1_SEQUENCE 以外の型を持つ ESS signing-certificate 属性が無効なポインタまたは NULL ポインタの参照外しを引き起こします。

対象範囲

所有しているか評価を許可された OpenSSL ビルドに対してのみ、隔離環境でテストしてください。これはクラッシュ専用の再現器です。

必要条件

  • Linux および GCC
  • ASan および UBSan でコンパイルされた影響を受ける OpenSSL ビルド
  • ビルドツリー内の OpenSSL 開発ヘッダ

デフォルトのビルドパス:

root@kitploit:~
/path/to/openssl-3.0.7-asan

必要に応じて上書き:

root@kitploit:~
export OPENSSL_BUILD=/path/to/openssl-asan-build

使用方法

root@kitploit:~
git clone https://github.com/Kha-Beleh/PoC-CVE-2025-69420.git
cd PoC-CVE-2025-69420

export OPENSSL_BUILD=/path/to/openssl-3.0.7-asan
make prepare
make build
make run

または、すべてを個別に実行:

root@kitploit:~
./scripts/prepare.sh
./scripts/build.sh
./scripts/run.sh

prepare.sh はリポジトリの最小限の openssl.cnf を使用するため、存在しない $OPENSSL_BUILD/ssl/openssl.cnf に依存しません。

影響を受けるビルドでの期待される出力

root@kitploit:~
[+] Loaded valid TimeStamp Response
[+] Found attribute: id-smime-aa-signingCertificateV2
[+] Original ASN.1 type: 16
[+] Attribute changed to V_ASN1_NULL
[+] Calling TS_RESP_verify_response()
crypto/ts/ts_rsp_verify.c:...: runtime error: member access within null pointer of type 'struct ASN1_STRING'
    #0 ... in ossl_ess_get_signing_cert_v2
    #1 ... in ts_check_signing_certs
    #2 ... in TS_RESP_verify_signature
    #3 ... in int_ts_RESP_verify_token
    #4 ... in TS_RESP_verify_response

正確なアドレスと行番号はビルドによって異なります。UBSAN_OPTIONS=halt_on_error=1 を設定すると、最初に検出された未定義動作でプロセスが終了します。

修正されたビルドでの期待される結果

不正な属性は、サニタイザによる検出やプロセスクラッシュなしに正常に拒否されるはずです。PoC は次のように出力します:

root@kitploit:~
[+] Malformed response rejected without a crash

技術的解釈

元の属性タイプ値 16 は V_ASN1_SEQUENCE です。PoC はそれを V_ASN1_NULL に変更します。影響を受ける実装では、コードがその後ユニオンメンバを value.sequence として扱い、それを参照外しします。アクティブなメンバがシーケンスではないため、UBSan は null の ASN1_STRING * を通したメンバアクセスを検出します。

これは型混乱 / 例外的条件チェックの欠如であり、ヒープやスタックのバッファオーバーフローではありません。

ファイル

  • poc.c — 最小限の再現器
  • scripts/prepare.sh — TSA 鍵、証明書、リクエスト、有効なレスポンスを生成
  • scripts/build.sh — ASan/UBSan OpenSSL ビルドに対してコンパイル
  • scripts/run.sh — サニタイザ設定で実行
  • openssl.cnf — 最小限のプロバイダ/リクエスト設定
  • tsa.conf — ローカル RFC 3161 TSA 設定
  • evidence/confirmed-output.txt — 短縮版の確認済みサニタイザトレース

参考文献

  • NVD: CVE-2025-69420
  • OpenSSL 修正: コミット 4e254b48ad93cc092be3dd62d97015f33f73133a
ツールをダウンロード