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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
1年前未レビュー

🚨 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';
ツールをダウンロード