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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-24688 — CVE-2026-24688の概念実証エクスプロイト。pypdfのアウトライン解析におけるサービス拒否(DoS)脆弱性です。悪意のあるPDFジェネレーターと、メモリ枯渇およびシステムクラッシュを実証する再現スクリプトが含まれています。 | Kitploit
ツール/GitHubGitHub/joakimbulow/cve-2026-24688
脆弱性分析エクスプロイトファジング論文と研究学習と教育
GitHubjoakimbulow/cve-2026-24688

CVE-2026-24688

CVE-2026-24688の概念実証エクスプロイト。pypdfのアウトライン解析におけるサービス拒否(DoS)脆弱性です。悪意のあるPDFジェネレーターと、メモリ枯渇およびシステムクラッシュを実証する再現スクリプトが含まれています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-24688 - pypdf - 循環参照によるDoS脆弱性

このリポジトリには、CVE-2026-24688を発動させるための概念実証コードが含まれています。

概要

pypdfのアウトライン(ブックマーク)解析ロジックにおける重大なサービス拒否(DoS)脆弱性です。循環するアウトライン参照を含むPDFを処理すると、パーサーが無限ループに入り、メモリを継続的に割り当て続け、私のマシン(TM)では毎秒数百MBのメモリを消費し、最終的にシステム全体がクラッシュします。

これはアプリケーションのハングアップではなく、システムレベルのDoSです。


内容

  • malicious_circular_outline.pdf - 循環アウトラインを含む悪意のあるPDF(754バイト)
  • create_malicious_pdf.py - 悪意のあるPDFを生成するスクリプト
  • simple_read_pdf.py - 脆弱性を再現するための簡単なテストスクリプト
  • test_pypdf.sh - 自動テストスクリプト(pypdfをインストールしてテストを実行)
  • README.md - このファイル

警告: メモリ消費量を監視して時間内にキャンセルしないと、これらのテストによってシステムがクラッシュする可能性があります。


自動テスト(危険)

# 自動テストスクリプトを実行(タイムアウト保護付き)
chmod +x test_pypdf.sh
./test_pypdf.sh

# これにより以下が実行されます:
# 1. 脆弱性のあるバージョンのpypdfをインストール
# 2. 15秒のタイムアウトでテストを実行
# 3. メモリ消費の挙動を表示

手動テスト

テスト1: 制御されたテスト(タイムアウト10秒)

# pypdfをインストール(脆弱性のあるバージョン6.6.0)
pip install "pypdf==6.6.0"

# タイムアウト付きで実行
timeout 10s python3 simple_read_pdf.py malicious_circular_outline.pdf

テスト2: 完全クラッシュテスト(危険)

# pypdfをインストール(脆弱性のあるバージョン6.6.0)
pip install "pypdf==6.6.0"

# タイムアウトなしで実行
python3 simple_read_pdf.py malicious_circular_outline.pdf

脆弱性の詳細

脆弱性のあるコード

場所: pypdf/_doc_common.py - _get_outline() メソッド(858〜873行目)

def _get_outline(self, node, outline=None):
    while True:  # ❌ 循環検出なし!
        outline_obj = self._build_outline_item(node)
        if outline_obj:
            outline.append(outline_obj)  # ❌ ループ内でヒープ割り当て!
        
        if "/Next" not in node:
            break
        node = node["/Next"]  # ❌ 循環参照を追跡

根本原因: 訪問済みセットなし、反復制限なし、継続的なメモリ割り当て


影響

確認済みのテスト結果

実環境テスト:

  • 結果: システムクラッシュ、ハードリブートが必要
  • タイムライン: 完全なシステム障害まで約5分
  • メモリ: 30GB以上を消費
  • CPU: 全コア100%(システムスラッシング)

攻撃の特徴:

  • ✅ CPU 100%(即時)
  • ✅ 線形のメモリ増加
  • ✅ システム全体の障害
  • ✅ ハードリブートが必要
  • ✅ データ損失の可能性

修正

バージョン6.6.2で修正済み

https://github.com/py-pdf/pypdf/security/advisories/GHSA-2q4j-m29v-hq73

ツールをダウンロード