CVE-2026-46454
Apache Camel: Camel-Cometd: インバウンドのBayeuxメッセージヘッダーがHeaderFilterStrategyなしでExchangeにマッピングされ、認証されていないクライアントがCamel制御ヘッダーを注入できるようになる
- 公開済み
- 2026/07/06
- 更新済み
- 2026/07/06
- CNA の割り当て
- apache
- 観察された証拠
- 2026/08/06
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H低 · 今後 30 日間
- パーセンタイル
- 55.5%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Apache Camel Cometd コンポーネントにおける不適切な入力検証の脆弱性。camel-cometd コンポーネントは、HeaderFilterStrategy を適用せずに、受信した Bayeux (CometD) メッセージヘッダーを Camel Exchange にマッピングします。CometdBinding.populateExchangeFromMessage は、CometD クライアントによって提供された ext.CamelHeaders マップ全体を Camel メッセージに直接コピーするため (message.setHeaders)、CamelHttpUri、CamelFileName、CamelJmsDestinationName などの Camel 内部制御ヘッダーを含むあらゆるヘッダー名が、変更されることなく受け入れられます。CometdComponent はデフォルトでは Bayeux SecurityPolicy をインストールしないため、CometD エンドポイントに対して Bayeux ハンドシェイクを完了できるクライアントは、認証なしでそのようなメッセージを公開できます。したがって、攻撃者は、ルート内のダウンストリームプロデューサーの動作に影響を与える任意の Camel 制御ヘッダーを注入できます (たとえば、HTTP プロデューサーのリダイレクト、ファイル名の変更、JMS 宛先の上書きなど)。注入されたヘッダーは、内部の direct、seda、vm ホップをまたいでも保持されます。具体的なダウンストリームへの影響は、ルートが使用するプロデューサーによって異なります。この問題は Apache Camel に影響します: 4.0.0 から 4.14.8 未満、4.15.0 から 4.18.3 未満、4.19.0 から 4.21.0 未満。ユーザーは、この問題を修正したバージョン 4.21.0 にアップグレードすることをお勧めします。4.14.x LTS リリースストリームを使用しているユーザーは、4.14.8 にアップグレードすることをお勧めします。4.18.x リリースストリームを使用しているユーザーは、4.18.3 にアップグレードすることをお勧めします。この修正により、camel-cometd バインディングに HeaderFilterStrategy が実装され (コード内の長年の TODO)、受信マッピング時に Camel ヘッダー名前空間が大文字小文字を区別せずにフィルタリングされるため、クライアントが提供する Camel* / camel* ヘッダーは Exchange にコピーされなくなります。すぐにアップグレードできないデプロイメントの場合は、受信した CometD メッセージがダウンストリームプロデューサーに到達する前に Camel 制御ヘッダーを削除し (たとえば、ルートの先頭で removeHeaders('Camel*') および removeHeaders('camel*') を使用)、CometdComponent に明示的な Bayeux SecurityPolicy をインストールして、認証済みクライアントのみが公開できるようにしてください。
ソース
1CVE-2026-46454 の再現ツール — Apache Camel camel-cometd のインバウンド Bayeux ヘッダーインジェクション(未認証の Camel コントロールヘッダーインジェクション → ダウンストリームプロデューサーの操作 / RCE)
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。