CVE-2026-78163
Apache Camel: Camel-Docling の未検証のメッセージ本文入力ソースにより、サーバーサイドリクエストフォージェリとローカルファイル開示が可能に
- 公開済み
- 2026/10/19
- 更新済み
- 2026/10/19
- CNA の割り当て
- apache
- 観察された証拠
- 2026/10/17
プライマリ CVSS
cvelist · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N概要
Server-Side Request Forgery(SSRF)、パス名の制限ディレクトリへの不適切な制限(「Path Traversal」)および機密情報の未承認アクターへの露出の脆弱性が Apache Camel Docling コンポーネントに存在します。この問題は Apache Camel の 4.15.0 から 4.18.5 より前、および 4.19.0 から 4.22.1 より前に影響します。DoclingProducer は、String 型のメッセージボディの意味をそのプレフィックスを検査して判断していました。http:// または https:// で始まるボディは取得すべきリモート URL として Docling に渡され、/ で始まるかバックスラッシュを含むボディはローカルファイルシステムから読み取られ、それ以外は一時ファイルに書き込まれてドキュメントコンテンツとして変換されました。モードは暗黙的に選択され、ルート作成者がコンポーネントを単一の解釈に固定できるエンドポイントオプションは存在しなかったため、ボディに届いた任意のテキストを変換することを意図したルートが、そのテキストがたまたまこれらのプレフィックスのいずれかで始まる場合に、知らぬ間にリモートリソースの取得元やローカルファイルの読み取り元になってしまいました。導出された値に適用される唯一のガードはサイズチェックであり、そのチェックは存在確認テストで包まれていたため、何も解決されないパスや、サイズがゼロと報告される疑似ファイルは、まったくチェックされずに通過しました。5 つの呼び出し箇所が 2 つのシンクに到達しました。CLI モードでは値を docling サブプロセスの最後の位置引数として追加し、docling-serve モードではバックエンドが取得するために HttpSource に渡すか、コンテンツを base64 エンコードしてアップロードできるよう Files.readAllBytes に渡しました。Camel ヘッダーの名前空間とは異なり、エクスチェンジボディは HeaderFilterStrategy によってフィルタリングされないため、ルートが docling エンドポイントに転送するメッセージにテキストを配置できる送信者は、デプロイメント側のオプトインなしに両方のシンクに到達できました。ユーザーは、この問題を修正したバージョン 4.23.0 へのアップグレードを推奨されます。4.22.x リリースストリームを使用している場合は、4.22.1 へのアップグレードを推奨します。4.18.x リリースストリームを使用している場合は、4.18.5 へのアップグレードを推奨します。4.14.x リリースストリーム以前はこの問題が解決される前にサポート終了となっており、修正は提供されないため、これらのラインのデプロイメントはサポート対象のリリースに移行する必要があります。直ちにアップグレードできないデプロイメントでは、デプロイメント外部で生成されたメッセージボディを docling エンドポイントにルーティングしないでください。また、File、byte[]、InputStream などの型付きボディ、または CamelDoclingInputFilePath ヘッダーを介してドキュメントを渡すことで、ボディがプレフィックス解釈の対象にならないようにしてください。
ソース
Apache Camel camel-docling における CVE-2026-78163 の実行可能な概念実証(PoC)再現ツール。検証されていない String ボディ入力による SSRF とローカルファイル開示を実演し、修正済みビルドでの対照も含む。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。