概要
Apache Camel Undertowコンポーネントにおける不適切な入力検証の脆弱性について説明します。この問題は、Apache Camelのバージョン4.11.0から4.14.9未満、4.15.0から4.18.4未満、4.19.0から4.22.0未満に影響を及ぼします。UndertowEndpointはheaderFilterStrategyフィールドをデフォルトでベースのHttpHeaderFilterStrategyに設定し、そのインスタンスを遅延生成されるUndertowHttpBindingに渡していました。これにより、DefaultUndertowHttpBindingのコンストラクタで設定されるUndertowHeaderFilterStrategyが上書きされていました。カスタムバインディングや明示的なheaderFilterStrategyが提供されていない限り、エンドポイントに設定されたルート上でundertow固有のフィルタリングは実行されていませんでした。戦略オブジェクトは生成されるもののすぐに置き換えられ、参照されることがありませんでした。その結果、レガシーwebsocket.<Exchange>-ヘッダープレフィックスはundertowトランスポート境界で双方向にフィルタリングされず、undertowのHTTPコンシューマーはその形式のインバウンドワイヤーヘッダーをExchangeにマッピングしていました。UndertowのWebSocketプロデューサーはそれらをディスパッチ指示として読み取り、ルートが選択したピアとは異なるピアへ配信される可能性がありました。また、undertow自身が受け入れないヘッダー名もスキップされずにExchangeにマッピングされていました。Rest DSLコンシューマーには影響がありませんでした。なぜなら、UndertowComponentは明示的にUndertowRestHeaderFilterStrategyを割り当てており、これはundertow戦略を拡張しているためです。本件はCVE-2025-30177のリグレッションではありません。ベースのHttpHeaderFilterStrategyはインバウンドのCamelプレフィックスフィルターを自身で構成しているため、該当勧告による保護は基本クラスを通じて引き続き機能していました。今回の変更で起きたのは、undertow戦略がエンドポイントパス上で孤立し、その結果undertowが拒否するヘッダー名をスキップする機能やレガシーwebsocket.プレフィックスを双方向でフィルタリングする機能という2つの修正が、エンドポイントが使用しないクラスに適用され、リリースしたバージョンでは効果を持たなかったということです。ユーザーには、本問題を修正したバージョン4.22.0へのアップグレードを推奨します。4.14.xのLTSリリース系列を利用している場合は4.14.9へ、4.18.xリリース系列の場合は4.18.4へのアップグレードを推奨します。すぐにアップグレードできない展開環境では、デフォルトに頼らず戦略を明示的に設定してください。例えば、UndertowHeaderFilterStrategyをレジストリにバインドし、エンドポイントを「undertow:http://0.0.0.0:8080/foo?headerFilterStrategy=#myStrategy」のように設定します。加えて、信頼境界でremoveHeaders(“websocket.*”)を使いディスパッチヘッダーを除去してください。なお、アップグレードしても残る制限があります。undertowコンポーネントはwebsocket.値を外部に公開されるAPI契約の一部として意図的に保持しており、UndertowProducerはこれらをin.getHeaderで読み取るため、HeaderFilterStrategyを参照しません。したがって、復旧したフィルタリングはundertowトランスポート境界での多層防御として機能します。非undertowコンシューマーからの信頼できないメッセージをundertowプロデューサーに渡すルートは本修正の保護対象外であり、当該ルート側でそれらのヘッダーを自ら除去する必要があります。
技術情報
- CVE: CVE-2025-30177
- 公開日: 2026-08-28T15:56:59+09:00
- 更新日: 2026-08-28T15:56:59+09:00
参考リンク
対処方法
該当ソフトウェアの最新版への更新、または開発元が提供する緩和策の適用を推奨します。運用環境に応じて事前検証の上で実施してください。
免責
本記事は公開情報をもとに自動集約された速報です。正確性・完全性は保証できません。必ず一次情報(上記リンク等)をご確認ください。
