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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-24688 — CVE-2026-24688 の POC | Kitploit
ツール/GitHubGitHub/fomovet/cve-2026-24688
脆弱性分析コード分析エクスプロイトファジング学習と教育
GitHubfomovet/cve-2026-24688

cve-2026-24688

CVE-2026-24688 の POC

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

人気

すべて見る →

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

すべてのツールを探索

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

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

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

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

概要

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 - このファイル

警告: メモリ消費量に注意を払い、適切なタイミングでキャンセルしないと、これらのテストはシステムをクラッシュさせる可能性があります。


自動テスト(危険)

root@kitploit:~
# Run the automated test script (with timeout protection)
chmod +x test_pypdf.sh
./test_pypdf.sh

# This will:
# 1. Install the vulnerable version of pypdf
# 2. Run test with 15-second timeout
# 3. Show memory consumption behavior
ツールをダウンロード

手動テスト

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

root@kitploit:~
# Install pypdf (vulnerable version 6.6.0)
pip install "pypdf==6.6.0"

# Run with timeout
timeout 10s python3 simple_read_pdf.py malicious_circular_outline.pdf

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

root@kitploit:~
# Install pypdf (vulnerable version 6.6.0)
pip install "pypdf==6.6.0"

# Run without timeout
python3 simple_read_pdf.py malicious_circular_outline.pdf

脆弱性の詳細

脆弱なコード

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

root@kitploit:~
def _get_outline(self, node, outline=None):
    while True:  # ❌ NO cycle detection!
        outline_obj = self._build_outline_item(node)
        if outline_obj:
            outline.append(outline_obj)  # ❌ Heap allocation in loop!
        
        if "/Next" not in node:
            break
        node = node["/Next"]  # ❌ Follows circular references

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


影響

確認済みのテスト結果

実環境でのテスト:

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

攻撃の特徴:

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

修正

バージョン 6.6.2 で修正済み

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