Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-78163 — Apache Camel camel-docling における CVE-2026-78163 の実行可能な概念実証(PoC)再現ツール。検証されていない String ボディ入力による SSRF とローカルファイル開示を実演し、修正済みビルドでの対照も含む。 | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-78163
脆弱性分析エクスプロイトウェブアプリケーション悪用学習と教育
GitHuboscerd/cve-2026-78163

CVE-2026-78163

Apache Camel camel-docling における CVE-2026-78163 の実行可能な概念実証(PoC)再現ツール。検証されていない String ボディ入力による SSRF とローカルファイル開示を実演し、修正済みビルドでの対照も含む。

リポジトリを見る
24日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-78163 — camel-docling: 未検証のボディ入力ソース (SSRF + ローカルファイル開示)

Apache Camel の脆弱性を再現する実行可能な概念実証 (PoC) です。この脆弱性では、DoclingProducer が String メッセージボディの意味をそのプレフィックスを検査して判断していました:

  • http:// または https:// で始まるボディは、取得すべきリモート URL として Docling に渡され (SSRF)、
  • / で始まる (またはバックスラッシュを含む) ボディは、ローカルファイルシステムから読み取られました (ファイル開示)。

モードは暗黙的に選択され、単一の解釈に固定するためのエンドポイントオプションは存在せず、さらに — Camel のヘッダー名前空間とは異なり — メッセージボディは HeaderFilterStrategy によって決してフィルタリングされません。そのため、「ボディに届いた任意のテキストを変換する」という意味のルートが、攻撃者が制御するテキストがこれらのプレフィックスのいずれかで始まるたびに、黙ってリモートリソースの取得元やローカルファイルの読み取り元になってしまいました。

ランタイムディレクトリスタック示す内容
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-docling 4.22.0 (影響あり; 修正版 4.22.1)SSRF および ファイル開示、さらに修正ビルドでの制御
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-docling 3.29.0 (Camel 4.15.0、影響あり)ファイル開示のみ (注記参照)

バージョン範囲。 ローカルファイル開示のシンクは、camel-docling が 4.15.0 で導入されて以来存在しています; リモート URL のシンクは、docling-serve サポートとともに 4.16.0 で追加されました。最新の Camel Quarkus (3.29.0) は Camel 4.15.0 をバンドルしているため、そのモジュールはファイル開示のみを実演します。修正は Camel 4.18.5 / 4.22.1 / 4.23.0 で提供されます; Spring Boot モジュールは影響を受けるビルド (4.22.0) と修正ビルド (4.22.1) の両方を実行するため、 パッチ適用後の動作も実演します。修正された Camel をバンドルした Camel Quarkus はまだリリースされていません。

実演する内容

どちらの再現環境も実際の Docling インストールを必要としません: 小さな偽の docling CLI (fake-docling/docling) が バイナリの代役を務め、本物のバイナリがプロデューサー提供の入力に対して何をするかを可視化します — URL を取得するか、 ファイルを読み取るかです。これは無害です: 処理するよう指示された内容をエコーし、自身の呼び出しをログに記録するだけです。 この CVE の要点は、攻撃者が提供したボディが、オプトインなしでその引数に到達してしまうことです。

Spring Boot アプリはまた、127.0.0.1:9099 で内部専用の HTTP エンドポイントを実行し (公開されるのはポート 8080 のみで、 外部クライアントは 9099 に直接到達できません)、ローカルのシークレットファイルも持ちます。攻撃者はテキストのみを送信します:

  • SSRF: ボディ http://127.0.0.1:9099/internal-secret → サーバー側の docling 呼び出しが 内部エンドポイントを取得し、そのシークレットが呼び出し元に返されます。
  • ファイル開示: ボディ /tmp/cve-2026-78163-secret.txt → ローカルファイルが読み取られて返されます。

影響を受けるビルドでは両方とも成功します; 修正されたビルドでは両方とも IllegalArgumentException で拒否され、 有効化に必要となるオプション (allowUrlSource / allowFilePathSource) が示され、docling は決して呼び出されません。

cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

影響を受けた Spring Boot ビルドで期待される出力:

[1] SSRF — sending body = http://127.0.0.1:9099/internal-secret
>>> PROVEN SSRF: the server-side docling invocation fetched the attacker-controlled internal URL.
>>>   internal victim saw: [GET /internal-secret]
>>>   content returned to the caller:
      | INTERNAL-SECRET-DATA (only reachable from inside the deployment)

[2] File disclosure — sending body = /tmp/cve-2026-78163-secret.txt
>>> PROVEN file disclosure: the attacker-named local file was read and returned.
      | TOP-SECRET-FILE-CONTENT (local file an attacker should not be able to read)

脆弱性の概要

プロパティ値
コンポーネントcamel-docling (camel-docling-starter / camel-quarkus-docling)
CWECWE-918 (SSRF)、CWE-22 (パストラバーサル)、CWE-200 (情報漏えい)
深刻度MEDIUM
攻撃ベクトルdocling エンドポイントに転送される String 型のメッセージボディ。そのプレフィックスによって URL 取得またはファイル読み取りのシンクが選択される。ボディは HeaderFilterStrategy の対象外
影響攻撃者が選択した URL (内部サービス) のサーバーサイド取得、およびローカルファイルの漏えい
影響を受けるバージョン4.15.0 から 4.18.5 未満、4.19.0 から 4.22.1 未満 (ファイル漏えいは 4.15.0 以降、URL シンクは 4.16.0 以降)
修正バージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24422
クレジットLi Zhiyao (BUPT)

アドバイザリ: https://camel.apache.org/security/CVE-2026-78163.html

修正内容

String 型のボディは、デフォルトでドキュメントそのものとして扱われるようになりました。2 つのロケーション解釈は、新しいエンドポイントオプション allowUrlSource と allowFilePathSource (いずれもデフォルトは false) によってオプトイン方式になりました。URL やパスのように見えるボディは、そうでなければ、それを有効化するオプション名を示す IllegalArgumentException で拒否されます。さらに inputBaseDirectory オプションによって、ローカル入力パスを設定済みのディレクトリに制限できます。型付きボディ (File、byte[]、InputStream) と CamelDoclingInputFilePath ヘッダーは、すでにその意味が明示されているためゲートされません (ただし inputBaseDirectory の対象のままです)。

アップグレードできない場合の緩和策

外部由来のメッセージボディを docling エンドポイントにルーティングしないでください。ドキュメントは型付きボディ (File、byte[]、InputStream) または CamelDoclingInputFilePath ヘッダーを介して渡すことで、ボディがプレフィックス解釈の対象にならないようにしてください。

免責事項

このリポジトリは教育および防御目的で公開されています。Apache Camel ユーザーが脆弱性を理解し、影響を受けているかどうかを確認し、アップグレードによって解決されることを確証できるようにするためです。偽の docling CLI と「シークレット」は、無害なローカルフィクスチャです。所有または運用していないシステムに対してこの資料を使用しないでください。

ツールをダウンロード