要点
Apache Camelは、コネクタに存在する5件の深刻度「高」の脆弱性を修正しました。このうち3件は、リモートの攻撃者がサーバーサイドリクエストを偽造し、機密情報を窃取できるというものです。また、Keycloakのログインチェックを回避できる脆弱性が1件、JMSメッセージを悪用するものが1件含まれています。ユーザーには4.21.0、4.18.3、または4.14.8へのアップグレードが推奨されます。
重要性
Apache Camelは、数千の企業でシステム間のデータ連携に使われています。キュー、API、ファイル、クラウドサービスを一つのフローでつなぐ役割を担っているため、一つの弱点が経路全体を危険にさらしかねません。今回のApache Camelの脆弱性はいずれも深刻度「高」です。うち3件は、ヘッダーの操作によってサーバーサイドリクエストフォージェリ(SSRF)を可能にします。この経路は内部サービスやクラウドのメタデータエンドポイントに到達し得るもので、機密情報や設定値、Vaultの鍵を漏えいさせる恐れもあります。信頼されたサーバーを踏み台のプロキシに変えられるこの手口は、攻撃者にとって格好の標的です。Keycloakの脆弱性は、一般的な構成において最も深刻であり、誰でもリモートコード実行に至る可能性があります。
攻撃の仕組み
ヘッダーインジェクションとSSRF
3つのコネクタは、信頼できない入力をそのままCamelヘッダーにマッピングしてしまいます。Camel-Iggyは、受信メッセージのヘッダーをフィルタなしでコピーします。2つのWebSocketコンシューマも、クエリの値について同様の処理を行っています。Vertx-WebSocketも同様に、パスの値を無条件に信頼します。Camelヘッダーはルーティングや送信先を静かに制御する仕組みです。そのため、攻撃者はCamelHttpUriのような制御用ヘッダーを設定できてしまいます。このヘッダーは、後続のHTTPリクエストを任意の送信先に向けさせるものです。これはルート内部から発生する典型的なサーバーサイドリクエストフォージェリと言えます。プロデューサーは、そのURLに対してプロパティ値を埋め込みます。その結果、注入された値によって実際の機密情報が攻撃者に送り返されてしまいます。両WebSocketの脆弱性は、エンドポイントが公開されている場合、ログインなしで悪用可能です。
JMSデシリアライゼーションの回避
CVE-2026-43866は、以前のセキュリティ修正を回避するものです。細工されたDefaultExchangeHolderオブジェクトは、クラスの許可リストを通過してしまいます。このクラスは信頼されたCamelの名前空間に属しているため、チェックを通過してしまうのです。送信側ではこの処理にゲートが設けられていますが、受信側にはそれがありませんでした。受信側は、追加のチェックなしにそのままExchangeへ展開してしまいます。これにより、攻撃者は本文、ヘッダー、設定値を注入できてしまいます。ガジェットチェーンは不要で、一般的なJavaの型だけで実現可能です。同じ脆弱性はAMQPおよびActiveMQのコネクタにも及びます。
Keycloakの認証フェイルオープン
CVE-2026-53913は、ロールチェックの際にのみベアラートークンを検証します。デフォルト設定ではロールやルールが一切定義されていません。そのため、このトークンチェック自体が実行されないのです。したがって、たとえ偽造されたものであっても、null以外のトークンであればすべて通過してしまいます。一方でトークンが存在しない場合は依然として拒否されるため、この欠陥は見過ごされがちです。このポリシーの背後にあるルートは、実際にサーバーサイドの処理を行っていることが多く、リクエストは実質的なチェックなしに保護対象のルートへ到達してしまいます。
悪用状況
これらの脆弱性を突く公開エクスプロイトは、今のところ確認されていません。CISAもこれらを悪用済み脆弱性リストに追加していません。ただし、あるベンダーはKeycloakの脆弱性に対する探索行為を報告しています。実際の攻撃が確認された例はまだありません。
影響を受けるバージョン
今回の脆弱性はCamelの3.x系および4.x系にまたがっています。5件のApache Camelの脆弱性はいずれも深刻度「高」です。修正済みのビルドは4.21.0、4.18.3、4.14.8です。正確な影響範囲はコネクタごとに異なり、詳細はアドバイザリに記載されています。JMSの脆弱性はバージョン3.0.0まで遡ります。KeycloakとIggyの問題は4.15系および4.17系から始まっています。両WebSocketの脆弱性はいずれも4.0.0から存在します。
パッチと緩和策
可能な限り4.21.0へのアップグレードを行ってください。LTSユーザーは代わりに4.14.8または4.18.3へ移行できます。修正適用後、JMSのObjectMessage処理はデフォルトで無効化されます。信頼できる送信者からのキューに限り、有効化してください。Keycloakの修正を反映させるには、ロールまたはルールのリストを空にしないことも必要です。アップグレードをすぐに行えない場合は、Camelへのパブリッシュ権限を持つユーザーを制限してください。また、各ルートの先頭でCamel*ヘッダーを除去することも有効です。公開されているWebSocketエンドポイントには、ログインを必須にしてください。各修正内容と対象バージョン範囲の詳細については、Apache Camelのセキュリティアドバイザリを参照してください。
翻訳元: https://meterpreter.org/apache-camel-five-vulnerabilities/