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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/oscerd/cve-2026-66907
脆弱性分析エクスプロイトウェブセキュリティ論文と研究学習と教育
GitHuboscerd/cve-2026-66907

CVE-2026-66907

Apache Camel camel-google-storage のパストラバーサル(CVE-2026-66907)向け概念実証(PoC)再現コード。downloadFileName を介した任意のファイル書き込みを実証し、影響を受けるバージョンと修正済みバージョンの詳細を含みます。

リポジトリを見る
9時間42分前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-66907 — camel-google-storage downloadFileName パストラバーサル

同じApache Camelの脆弱性に対する実行可能な概念実証(PoC)再現コードで、ランタイムごとに1つずつ用意しています:

どちらも影響を受けるバージョンです(この問題は4.14.9 / 4.18.4 / 4.22.0で修正済み)。また、両方とも同一の欠陥を実証します:camel-google-storageのコンシューマーは、downloadFileName がディレクトリの場合、バケットオブジェクトをローカルファイルシステムにダウンロードする際、リモートオブジェクト名をそれに追記してローカルターゲットを構築します(downloadFileName + "/${file:name}")。${file:name} トークンはオブジェクト名をそのまま返します(パスを除去する ${file:onlyname} とは異なります)。その結果は new File(result) / blob.downloadTo(file.toPath()) に正規化なしで渡され、宛先が設定されたディレクトリ内に留まるかどうかのチェックもありませんでした。オブジェクト名はルートで制御されません——コンシューマーはバケットを一覧表示してすべてのオブジェクトをダウンロードするため、名前に ../ セグメントを含むオブジェクトは downloadFileName の外側に書き込まれます(CWE-22、パストラバーサル→任意のファイル書き込み)。

各サブディレクトリは自己完結型です(独自の Dockerfile、fake-gcs-server エミュレーターを起動する docker-compose.yml、およびREADME)。要するに、どちらでも次のコマンドを実行します:

root@kitploit:~
cd camel-spring-boot   # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

影響を受けるビルドでの期待される出力(両バリアントとも):

root@kitploit:~
Files inside the intended download directory /app/downloads:
    - report.txt
File written OUTSIDE it, at /tmp/pwned-66907.txt: true
    content: PWNED via path traversal — CVE-2026-66907
>>> PROVEN: the object name's ../ segments escaped the configured downloadFileName directory ... : true

脆弱性の概要

勧告: https://camel.apache.org/security/CVE-2026-66907.html

修正内容

コンシューマーは現在、解決されたパスを正規化し、設定された downloadFileName ディレクトリ内に留まることを検証します(GoogleCloudStorageFileNameHelper.assertWithinDirectory 経由)。ディレクトリ外へ逸脱しようとするオブジェクト名は拒否されます。

エミュレーターに関する注意事項

docker-compose.yml は fake-gcs-server を -backend memory で実行します。これによりオブジェクト名は不透明なマップキーとして保持されるため、../ を含む名前もそのまま維持されます。デフォルトのファイルシステムバックエンドでは ../ が解決されるため、オブジェクトが一覧表示できなくなります。

免責事項

このリポジトリは教育および防御目的で公開されています:Apache Camelユーザーが脆弱性を理解し、影響を受けるかどうかを確認し、アップグレードによって解決されることを確認できるようにするためです。書き込まれるファイルは /tmp 配下の無害なマーカーです。所有または運用していないシステムに対してこの資料を使用しないでください。

ツールをダウンロード
ランタイムディレクトリスタック
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-google-storage 4.18.2
Camel Quarkuscamel-quarkus/Quarkus 3.36.0 + Camel Quarkus 3.36.0(Camel 4.20.0 を同梱)
プロパティ値
コンポーネントcamel-google-storage(Spring Boot: camel-google-storage-starter、Quarkus: camel-quarkus-google-storage)
CWECWE-22(制限付きディレクトリへのパス名の制限が不適切—パストラバーサル)
攻撃ベクトルdownloadFileName がディレクトリに設定されたコンシューマーによってダウンロードされる、名前に ../ セグメントを含むバケットオブジェクト
影響設定されたダウンロードディレクトリの外側への任意のファイル書き込み
影響を受けるバージョン4.0.0以降4.14.9未満、4.15.0以降4.18.4未満、4.19.0以降4.22.0未満
修正済みバージョン4.14.9、4.18.4、4.22.0
JIRACAMEL-24279
クレジットn0mi1k