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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Hacking-pdf.js-vulnerability — CVE-2024-4367 | Kitploit
ツール/GitHubGitHub/bhavyakcwestern/hacking-pdf.js-vulnerability
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用論文と研究学習と教育
GitHubbhavyakcwestern/hacking-pdf.js-vulnerability

Hacking-pdf.js-vulnerability

CVE-2024-4367

リポジトリを見る
41年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

🚨 CVE-2024-4367: PDF.js における任意の JavaScript 実行

このプロジェクトは、CVE-2024-4367 を実演・分析します。これは Mozilla の PDF.js ライブラリにおける深刻度の高い脆弱性であり、フォント処理コードでの不適切な型チェックを通じて任意の JavaScript 実行を可能にします。我々の研究は、悪意を持って作成された PDF が Electron アプリなどのコンテキストで JavaScript を実行し、潜在的にリモートコード実行にエスカレーションする方法を示します。

🔗 GitHub リポジトリ: Hacking-pdf.js-vulnerability


📖 プロジェクト概要

  • CVE ID: CVE-2024-4367
  • 深刻度: 高 (CVSS v3.1 スコア: 8.8)
  • 影響を受けるソフトウェア
    • PDF.js < 4.2.67
    • Mozilla Firefox < 126
    • Firefox ESR < 115.11
    • Thunderbird < 115.11
  • エクスプロイト: 埋め込みフォントのサニタイズされていない fontMatrix を介した任意の JavaScript 実行
  • 概念実証 (PoC): PDF ex1.pdf および ex-gist.pdf はアラートまたはリモートスクリプトの実行を示します

📂 リポジトリの内容

  • src/components/ReactPdfViewer.tsx – React ビューア(react-pdf 5.7.2 で構築、脆弱な pdfjs-dist 2.16.105 をバンドル)
  • ex1.pdf – 悪意のある PDF(アラートをトリガー)
ツールをダウンロード
  • ex-gist.pdf – 悪意のある PDF(リモート JS をフェッチして実行)
  • CVE-2024-4367_Report_Hacking_Project.pdf – 完全な技術レポートとエクスプロイト分析

  • ⚠️ 脆弱性の詳細

    PDF.js の fontMatrix 配列要素は不適切に検証されており、new Function(...) でコンパイルされた JavaScript に直接注入される文字列を受け入れていました。これにより、攻撃者は悪意のあるフォントデータを作成し、eval 的な操作が許可されている場合に任意のコード実行を引き起こすことができます。

    例として脆弱なコードパス:

    root@kitploit:~
    fontMatrix = ["alert('XSS')", 0, 0, 1, 0, 0]; // 注入されたペイロード
    // 結果として次のような関数がコンパイルされます:
    function drawGlyph() {
      transform("alert('XSS')", 0, 0, 1, 0, 0); // 安全でない実行
    }
    

    🛡️ CVE-2024-4367 の緩和策

    この脆弱性を緩和し、PDF.js(またはそれをバンドルするライブラリ)を組み込んだアプリケーションを保護するには、以下の対策を採用してください。

    ✅ 依存関係のアップグレード

    • PDF.js を v 4.2.67 以降にアップグレードします。これにより型チェックの欠陥が修正されます。
    • ラッパー(例:react-pdf)を使用している場合は、pdfjs-dist ≥ 4.2.67 が同梱されていることを確認してください。

    ✅ 動的コンパイルの無効化

    • PDF.js で isEvalSupported = false を設定し、動的な Function コンパイルをオフにします。

    ✅ 型チェックの強制

    • すべてのユーザー提供値(例:fontMatrix 配列)に対して明示的な typeof チェックを追加します。

    ✅ 入力のサニタイズ

    • 数値が期待される場所では、非数値の入力を拒否またはサニタイズします。

    ✅ 依存関係監視ツールの使用

    • Snyk(または同等のもの)を CI/CD に統合し、依存関係を自動的にスキャンします。
    • package.json/yarn.lock を最新に保ち、セキュリティパッチを自動適用します。

    ✅ ブラウザとランタイムの最新化

    • パッチ適用済みバージョンを実行:
      • Firefox ≥ 126
      • Firefox ESR ≥ 115.11
      • Thunderbird ≥ 115.11
    • Electron ランタイムを更新し、安全な PDF.js ビルドをバンドルするようにします。

    ✅ セキュリティヘッダーの適用

    厳格な Content-Security-Policy を追加:

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