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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-23907 — Apache PDFBoxのパストラバーサル脆弱性(CVE-2026-23907)に対する概念実証エクスプロイトであり、悪意のあるPDFに埋め込まれたファイルを介した任意のファイル書き込みを実証します。 | Kitploit
ツール/GitHubGitHub/joakimbulow/cve-2026-23907
脆弱性分析エクスプロイトウェブアプリケーション悪用マルウェア分析ペネトレーションテストバイナリ解析
GitHubjoakimbulow/cve-2026-23907

CVE-2026-23907

Apache PDFBoxのパストラバーサル脆弱性(CVE-2026-23907)に対する概念実証エクスプロイトであり、悪意のあるPDFに埋め込まれたファイルを介した任意のファイル書き込みを実証します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Apache PDFBox パストラバーサル脆弱性

脆弱性の概要

説明

Apache PDFBoxのExtractEmbeddedFilesサンプルコードは、PDFから埋め込みファイルを抽出する際にファイル名をサニタイズしません。攻撃者はパストラバーサルシーケンス(../)を含むファイルを埋め込むことで、任意のファイルシステム上の場所にファイルを書き込むことができます。

脆弱なコード

ファイル: pdfbox/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java

root@kitploit:~
private static void extractFile(String filePath, String filename, PDEmbeddedFile embeddedFile)
        throws IOException
{
    String embeddedFilename = filePath + filename;  // NO SANITIZATION
    File file = new File(embeddedFilename);
    File parentDir = file.getParentFile();
    if (!parentDir.exists())
    {
        parentDir.mkdirs();  // Creates arbitrary directories
    }
    try (FileOutputStream fos = new FileOutputStream(file))
    {
        fos.write(embeddedFile.toByteArray());  // Writes to arbitrary location
    }
}

filenameパラメータは検証なしでPDFから直接取得されます。

影響

  • 任意のファイル書き込み: アプリケーションが権限を持つ任意の場所にファイルを書き込むことが可能
  • 権限昇格: SSHキー、設定ファイルの上書き
  • リモートコード実行: 実行ファイル、cronジョブ、systemdサービスの上書き
  • データ破壊: 重要なシステムファイルの上書き

攻撃シナリオ

  1. SSHキー注入

    • 埋め込みファイル名: ../../.ssh/authorized_keys
    • 内容: 攻撃者の公開鍵
    • 結果: SSHアクセス
  2. Cronジョブ注入

    • 埋め込みファイル名: ../../../etc/cron.d/malicious
    • 内容: 悪意のあるスクリプト
    • 結果: 権限昇格 + 永続化
  3. 設定ファイルの上書き

    • 埋め込みファイル名: ../../config/database.yml
    • 内容: 悪意のある認証情報
    • 結果: データ流出

概念実証(PoC)

含まれるファイル

  • create_malicious_pdf.py - パストラバーサルを含む悪意のあるPDFを生成
  • TestPathTraversal.java - 脆弱性を実証
  • test_path_traversal.sh - 自動テストスクリプト
  • malicious_path_traversal.pdf - 事前生成された悪意のあるPDF

PoCの実行

クイックテスト

root@kitploit:~
./test_path_traversal.sh

手動テスト

root@kitploit:~
# 1. 悪意のあるPDFを生成
python3 create_malicious_pdf.py

# 2. テストをコンパイル(PDFBox JARが必要)
javac -cp pdfbox-app.jar TestPathTraversal.java

# 3. テストを実行
java -cp .:pdfbox-app.jar TestPathTraversal malicious_path_traversal.pdf

# 4. パストラバーサルを確認
cat /tmp/path_traversal_poc

期待される出力

root@kitploit:~
PATH TRAVERSAL DETECTED!
Expected path prefix: /current/working/directory
Actual path: /tmp/path_traversal_poc

影響を受けるバージョン

  • Apache PDFBox 3.0.6 - 脆弱性を確認

影響を受けるコンポーネント

  • ExtractEmbeddedFiles.java サンプルコード
  • 同様のパターンを使用するアプリケーション
  • サニタイズなしでPDComplexFileSpecification.getFilename()を呼び出すコード
ツールをダウンロード