CVE-2026-60093
Apache Camel: Camel-Azure-Storage-DataLake: downloadToFile オペレーションは、リモートパス名からローカルダウンロード先を構築する際に、設定された fileDir に制約しませんでした
- 公開済み
- 2026/08/24
- 更新済み
- 2026/08/25
- CNA の割り当て
- apache
- 観察された証拠
- 2026/08/24
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N低 · 今後 30 日間
- パーセンタイル
- 17.7%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Apache Camel Azure-Storage Datalake コンポーネントにおける相対パストラバーサルの脆弱性。この問題は Apache Camel の 4.0.0 から 4.14.9 未満、4.15.0 から 4.18.4 未満、4.19.0 から 4.22.0 未満に影響します。camel-azure-storage-datalake コンポーネントは、downloadToFile オペレーションを使用して Azure Data Lake Storage Gen2 のファイルをローカルファイルシステムにダウンロードし、fileDir エンドポイントオプションで指定されたディレクトリに書き込むことができます。DataLakeFileOperations.downloadToFile は、Azure SDK が報告したリモートパス名をそのまま fileDir に結合してローカルターゲットを構築し (new File(fileDir, fileClientWrapper.getFileName()))、その結果を字句的正規化を行わず、また解決された場所が fileDir 内に留まるかどうかをチェックすることなく、SDK のダウンロード呼び出しに直接渡していました。リモート名はルートによって制御されるデータではありません。コンシューマーは DataLakeConsumer.createBatchExchangesFromPath でファイルシステムを列挙し、パスをリストアップして、各エントリに対して PathItem.getName() の値をそのまま使用して 1 つのエクスチェンジを作成しますが、デフォルトでは名前のフィルタリングは適用されません。そのため、親ディレクトリセグメントを含むパス名は、設定された fileDir の外側の場所に解決され、消費される Data Lake ファイルシステム内の名前を操作できる任意のユーザーが、Camel プロセスの権限で、任意の場所にファイルを作成または上書きさせることができます。プロセスが書き込める対象によっては、ダウンロードディレクトリ外のファイルを上書きすることで、そのファイルの整合性の喪失を超えて権限昇格につながる可能性があります。fileDir オプションは通常の common グループの設定パラメータであり、セキュリティマーカーは付いていません。そのため、その値が封じ込め境界として強制されていないことをユーザーに示すものは何もありませんでした。Camel の他のファイルダウンロードコンシューマー - camel-file、camel-ftp、camel-smb、camel-mina-sftp、camel-azure-files - は、パスセグメント境界チェックを使用してローカルダウンロードを設定されたディレクトリにすでに制限していましたが、camel-azure-storage-datalake のダウンロードパスはこの対応の対象外でした。ユーザーには、この問題を修正したバージョン 4.22.0 へのアップグレードが推奨されます。4.14.x LTS リリースストリームをご利用の場合は、4.14.9 にアップグレードすることをお勧めします。4.18.x リリースストリームをご利用の場合は、4.18.4 にアップグレードすることをお勧めします。すぐにアップグレードできない展開では、regex エンドポイントオプションを使用して、コンシューマーが処理する名前を制限してください。このオプションは、リストされた各パス名に対して完全一致として適用されるため、単純な単一セグメントの名前のみが受け入れられ、パス区切り文字や親ディレクトリセグメントを含む名前は、エクスチェンジが作成される前に除外されます。あるいは、信頼できないファイルシステムでは downloadToFile オペレーションを避け、リモートのリストから取得したファイル名ではなく、ルート自体が制御するファイル名で、ルートからペイロードを書き込んでください。多層防御として、外部から書き込み可能な Data Lake ファイルシステム内のオブジェクト名を信頼できない入力として扱い、それらからローカルファイルシステムのパスを導出しないでください。
ソース
1Apache Camel の camel-azure-storage-datalake におけるパストラバーサル脆弱性(CVE-2026-60093)の Proof-of-concept 再現コード。downloadToFile を介した任意のファイル書き込みを実証します。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。