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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pdf.js-CVE-2024-4367 — スキャン終了 PoC CVE-2024-4367 | Kitploit
ツール/GitHubGitHub/veronimo669/pdf.js-cve-2024-4367
偵察脆弱性スキャナーエクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト論文と研究学習と教育
GitHubveronimo669/pdf.js-cve-2024-4367

pdf.js-CVE-2024-4367

スキャン終了 PoC CVE-2024-4367

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

人気

すべて見る →

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

すべてのツールを探索

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

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

🚨 CVE-2024-4367 - Universal PDF.js脆弱性スキャナー

⚠️ 重大なセキュリティツール | CVE-2024-4367(CVSS 9.8)を検出 - PDF.js リモートコード実行脆弱性

Version CVSS CVE License

あらゆるWebサイトで動作 - 設定不要


📋 目次

  • 📖 概要
  • ⚡ クイックスタート
  • 🔍 検出内容
  • 🛠️ 動作の仕組み
  • 📊 出力例
  • 🔒 修復ガイド
  • 🎯 攻撃ベクター
  • 🧪 テスト手順
  • 📝 技術詳細
  • ⚠️ 法的免責事項
  • 📚 リファレンス

📖 概要

CVE-2024-4367は、PDF.js(バージョン < 4.2.67)における重大な脆弱性で、悪意のあるPDFファイルを介して任意のJavaScript実行を可能にします。このスキャナーは、あらゆるWebサイト上の脆弱なPDF.jsインスタンスを自動的に検出します。

このスキャナーが他と違う点

  • ✅ 設定不要 - どのWebサイトでも即座に動作
  • ✅ ユニバーサル検出 - すべてのJavaScriptバンドルをスキャン
  • ✅ 依存関係なし - 純粋なJavaScript
  • ✅ 概念実証 - テスト用PDFを生成
  • ✅ 実行可能な結果 - 明確な修復手順

脆弱性の詳細

PDF.jsには、PDFファイルに埋め込まれたJavaScriptが適切にサンドボックス化されずに実行される欠陥があり、攻撃者は以下を実行できます:

  • 🏴‍☠️ localStorage/sessionStorageから認証トークンを盗む
  • 🍪 セッションCookieを外部に送信する
  • 📁 ローカルファイルにアクセスする(Electron/デスクトップアプリの場合)
  • 🔐 盗んだ認証情報を使用して被害者としてアクションを実行
  • 🌐 XSSを介して内部ネットワークにピボット

⚡ クイックスタート

方法1:ブラウザコンソール(最も簡単)

  1. 対象Webサイトを開く
  2. F12を押してDevToolsを開く
  3. Consoleタブに移動
  4. スキャナースクリプト全体を貼り付け
  5. Enterを押す
  6. 画面上の視覚的な結果を確認!

方法2:ブックマークレット

このURLでブックマークを作成:

javascript:(function(){const s=document.createElement('script');s.src='https://cdn.jsdelivr.net/gh/yourusername/CVE-2024-4367-Scanner/scanner.js';document.body.appendChild(s);})();

方法3:直接ダウンロード

git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# 任意のWebサイトを開いてスクリプトを実行

🔍 検出内容

フェーズ1:JavaScriptバンドルスキャン

  • ✅ PDF.jsバージョン検出
  • ✅ 脆弱なバージョンの特定(< 4.2.67)
  • ✅ Package.json参照
  • ✅ Node_modulesパス

フェーズ2:PDFビューアの特定

  • ✅ `` PDFビューア
  • ✅ <embed>要素
  • ✅ <object> dataタグ
  • ✅ カスタムPDFビューアコンテナ
  • ✅ Canvasベースのレンダラー

フェーズ3:攻撃ベクター

  • ✅ URLパラメータ(?pdf=, ?file=, ?src=)
  • ✅ PDFアップロードフォーム
  • ✅ .pdfを受け付けるファイル入力フィールド
  • ✅ PDFパスを含むAPIエンドポイント

フェーズ4:視覚的インジケータ

  • ✅ ライブ脆弱性ステータス
  • ✅ ダウンロード可能な概念実証PDF
  • ✅ リアルタイムDOMオーバーレイ

🛠️ 動作の仕組み

┌─────────────────────────────────────────────────────────────┐
│                    スキャンプロセスの流れ                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 📚 スクリプトの読み込み                                  │
│     ├─ 外部スクリプト(すべての<script src="">)           │
│     └─ インラインスクリプト(すべての<script>タグ)         │
│                                                             │
│  2. 🔍 PDF.jsバージョンの抽出                                │
│     ├─ コード内のパターンマッチング                          │
│     ├─ Package.json検出                                     │
│     └─ Node_modulesパスの解析                               │
│                                                             │
│  3. 🎯 脆弱性の特定                                         │
│     ├─ version < 4.2.67 ? → VULNERABLE                     │
│     └─ version = 2.16.105 ? → VULNERABLE                   │
│                                                             │
│  4. 🖼️ ビューアの特定                                       │
│     ├─ DOM要素のスキャン                                    │
│     └─ 属性の検出                                          │
│                                                             │
│  5. ⚡ PoCの生成                                            │
│     ├─ テストPDFの作成                                      │
│     └─ ダウンロードリンクの提供                             │
│                                                             │
│  6. 📊 結果の表示                                           │
│     ├─ 視覚的なオーバーレイ                                 │
│     ├─ コンソールレポート                                   │
│     └─ グローバル変数への保存                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

📊 出力例

コンソール出力

╔═══════════════════════════════════════════════════════════════════════════════════╗
║                    CVE-2024-4367 - UNIVERSAL PDF.js SCANNER                         ║
║              Detects vulnerable PDF.js versions and potential exploitation         ║
╚═══════════════════════════════════════════════════════════════════════════════════╝

📚 PHASE 1: Scanning JavaScript Bundles for PDF.js
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[+] Found 42 external scripts
[+] Found 12 inline scripts
   [1/42] Analyzing: vendor.bundle.js
      → PDF.js indicator found: pdfjs-dist
      ✅ PDF.js version found: 2.16.105
      🚨 VULNERABLE to CVE-2024-4367!

🎯 PHASE 4: Identifying Exploitation Vectors
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ⚠️ URL parameter accepts PDF: file=/documents/report.pdf
   ⚠️ PDF upload form found

█████████████████████████████████████████████████████████████████████████████████
                          FINAL SCAN REPORT
█████████████████████████████████████████████████████████████████████████████████

🚨 CRITICAL VULNERABILITY CONFIRMED!
   CVE: CVE-2024-4367
   CVSS: 9.8 (CRITICAL)
   Impact: Arbitrary JavaScript Execution

視覚的オーバーレイ

Scanner Overlay

┌─────────────────────────────────────────────────────────────┐
│  CVE-2024-4367 SCAN RESULTS                                │
│  ━━━━━━━━━━━━━━━━━━━━━━━                                    │
│  📍 Target: example.com                                    │
│  📦 PDF.js: 2.16.105                                       │
│  🎯 Vulnerable: YES                                        │
│  📄 Viewers: 3                                             │
│  ⚡ Vectors: 2                                             │
│  ━━━━━━━━━━━━━━━━━━━━━━━                                    │
│  🔴 CRITICAL - Upgrade Required                            │
└─────────────────────────────────────────────────────────────┘

🔒 修復ガイド

即時対応

1. PDF.jsをアップグレード(推奨)

# Node.jsプロジェクトの場合
npm install pdfjs-dist@latest

# CDN利用の場合
# バージョン4.2.67以上に更新

2. JavaScript実行を無効化

// PDF.jsを読み込む前に設定
pdfjsLib.GlobalWorkerOptions.disableJavaScript = true;

3. コンテンツセキュリティポリシー

Content-Security-Policy: script-src 'self'; 
                        object-src 'none'; 
                        worker-src 'none'

4. 入力検証

// レンダリング前にPDFファイルを検証
function validatePDF(file) {
    // マジックバイトをチェック
    const header = file.slice(0, 5);
    if (header !== '%PDF-') {
        throw new Error('無効なPDFファイル');
    }
    
    // JavaScriptをスキャン
    const text = file.toString();
    if (text.includes('/JavaScript') || 
        text.includes('/JS') ||
        text.includes('<< /S /JavaScript >>')) {
        throw new Error('PDFにJavaScriptが含まれています');
    }
}

長期的な解決策

解決策難易度効果
PDF.jsをアップグレード簡単✅ 完全修正
PDF.jsでJavaScriptを無効化簡単✅ 完全修正
CSPの実装中程度✅ 良好
サーバー側検証中程度✅ 良好
サンドボックスレンダリング難しい✅ 優良

🎯 攻撃ベクター

検出される一般的なベクター

  1. URLパラメータ

    /viewer?file=malicious.pdf
    /download?pdf=malicious.pdf
    
  2. ファイルアップロード

    <input type="file" accept=".pdf">
    
  3. 埋め込みビューア

    
    <embed src="malicious.pdf">
    
  4. APIエンドポイント

    /api/documents/123/download
    /api/report/pdf
    

悪意のあるペイロードの例

ツールをダウンロード