CVE-2026-79983
Apache Camel: camel-ftp は、ポーリング対象のファイルのリモートパスを、サーバーのディレクトリ一覧で報告された名前に基づいて解決する際、ポーリング対象のディレクトリに制約していなかったため、トラバーサルセグメントを含む一覧エントリがそのディレクトリの外へ移動される可能性がありました
- 公開済み
- 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 FTPコンポーネントにおける、パス名の制限ディレクトリへの不適切な制限(「パストラバーサル」)の脆弱性。この問題は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のダウンロードパスは、親ディレクトリのセグメントを含むリモートファイル名がローカル作業ディレクトリの外側に解決できないよう制約されていました。リモートオペランドは、その攻撃面の残りの半分でした。この成果物はftp、ftpsおよびsftpスキームを提供しており、そのすべてが影響を受けます。報告者は、ポーリング対象ディレクトリ外のファイルをLIST応答で指定する悪意のあるサーバーを用いてCamelルートを駆動し、ftpエンドポイントに対して問題をエンドツーエンドで実証しました。この問題を修正するApache Camel 4.23.0にアップグレードしてください。4.22.xリリーストリームのユーザーは4.22.1にアップグレードすべきです。4.18.x LTSリリーストリームのユーザーは4.18.5にアップグレードすべきです。4.14.xストリームはサポート終了に達しており、この修正を受け取りません。そのユーザーはサポートされているリリーストリームに移行すべきです。
ソース
CVE-2026-79983(Apache Camel の camel-ftp コンシューマーにおけるパストラバーサル)の実行可能な概念実証(PoC)再現ツール。悪意ある FTP サーバーのフィクスチャと、影響を受けるビルド/修正済みビルドを備えています。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。