CVE-2026-79986
Apache Camel: camel-azure-files は、ポーリング対象ファイルのリモートパスを、サーバーのディレクトリ一覧で報告された名前に基づいて解決する際、ポーリング対象のディレクトリに制限していなかったため、トラバーサルセグメントを含む一覧エントリがそのディレクトリ外へ移動される可能性があった
- 公開済み
- 2026/10/19
- 更新済み
- 2026/10/20
- 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:H/A:N概要
Apache Camel Azure Filesコンポーネントにおける、パス名の制限ディレクトリへの不適切な制限(「パストラバーサル」)の脆弱性。この問題はApache Camelに影響します:4.0.0から4.18.5より前、4.19.0から4.22.1より前。Camelのリモートファイルコンシューマーは、リモートサーバー上のディレクトリをポーリングし、設定されたディレクトリとサーバーのディレクトリ一覧で報告されたファイル名を連結して、各ファイルの絶対リモートパスを構築します。この連結(FtpUtils.absoluteFilePathおよびGenericFileConsumer)は、字句正規化も、結果がポーリング対象のディレクトリ内に留まるかどうかのチェックも行っておらず、結果として得られたパスが、そのファイルに対する後続のすべてのリモート操作のオペランドとなりました:取得(FtpOperations.retrieveFile / SftpOperations。GenericFileConsumerから到達し、取得名はGenericFile.getAbsoluteFilePathからそのまま取得されます)、delete=trueの場合の削除(GenericFileDeleteProcessStrategy)、およびmove、preMove、moveFailedまたはreadLock=renameが設定されている場合のリネーム(GenericFileProcessStrategySupportおよびGenericFileRenameExclusiveReadLockStrategy)。isValidFileもisMatchedも、包含チェックを一切行いませんでした。したがって、単一のパスセグメントではない一覧エントリは、設定されたポーリングディレクトリ外のパスに解決され、Camelがエンドポイント自身の認証情報を用いて、そのディレクトリ外のファイルを読み取り、削除、またはリネームすることになりました。一覧の名前はルート制御されたデータではありません。それはリモートサーバーによって提供されるものであり、FTP制御チャネルは整合性保護を一切持たないため、経路上の攻撃者は認証情報を一切持たずにLIST応答を書き換えることができます。侵害された、悪意のある、またはマルチテナントのサーバー、あるいは仮想ファイルシステムに支えられたサーバーは、そのような名前を直接出力できます。取得はデフォルトのコンシューマー設定で到達可能です。なぜならリモートコンシューマーは一覧に載ったすべてのファイルをダウンロードするからです。削除とリネームはさらに上記のいずれかの処理オプションを必要とし、それらはいずれも一般的です。Camelがポーリングするよう設定されたディレクトリからの脱出は無条件ですが、サーバー自身のアカウント境界からの脱出は、そのサーバーがアカウントを閉じ込めているかどうかにも依存します。jailStartingDirectoryオプションは、Camelを開始ディレクトリに制限すると文書化されており、デフォルトで有効になっていますが、プロデューサーの書き込みを統制し、localWorkDirectoryの包含作業以降はコンシューマーのローカル作業ディレクトリへのダウンロードを統制していましたが、このリモートオペランドを制約していませんでした。そのため、その名前と説明は、ここでは強制されていない境界を主張していました。同じエントリポイントはローカル側ですでに認識されていました:localWorkDirectoryのダウンロードパスは、親ディレクトリセグメントを含むリモートファイル名がローカル作業ディレクトリ外に解決できないよう制約されていました。リモートオペランドは、その表面の残りの半分でした。この成果物はazure-filesスキームを提供します。そのコンシューマーは同じRemoteFileConsumer基底クラスから派生し、単純な連結ヘルパーを通じてリモートパスを構成していたため、同じ無制約の解決を継承していました。これに到達するには、単一のパスセグメントではない一覧名が必要であり、Azure Files RESTサービスは通常そのような名前を返しません。この露出は、このスキームに対する実証された概念実証によるものではなく、他のリモートファイルコンシューマーと同じ根拠に基づいて修正されました。この問題を修正するApache Camel 4.23.0にアップグレードしてください。4.22.xリリーストリームのユーザーは4.22.1にアップグレードしてください。4.18.x LTSリリーストリームのユーザーは4.18.5にアップグレードしてください。4.14.xストリームはサポート終了に達しており、この修正を受け取りません。そのユーザーはサポートされているリリーストリームに移行してください。
ソース
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。