CVE-2026-71569
Apache Camel: Camel-A2A プッシュ通知 Webhook ガードが、ホスト名経由で到達可能な IPv6 ユニークローカルアドレスを受け入れる
- 公開済み
- 2026/10/29
- 更新済み
- 2026/10/29
- CNA の割り当て
- apache
- 観察された証拠
- 2026/10/30
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N概要
Apache CamelのA2Aコンポーネントにおけるサーバーサイドリクエストフォージェリ(SSRF)の脆弱性。この問題はApache Camelの4.21.0から4.22.2より前のバージョンに影響します。WebhookUrlValidatorは、プッシュ通知のWebhookホストを、互いに一致しない2つの箇所で分類していました。IPリテラルとして記述されたホストは、IPv6のユニークローカル範囲fc00::/7を示す文字列プレフィックスのリストと照合される一方、名前を介して到達したホストは解決され、得られたアドレスがInetAddressの述語であるisLoopbackAddress、isAnyLocalAddress、isLinkLocalAddress、isSiteLocalAddressで分類されていました。これらの述語はプレフィックスリストと同じ範囲をカバーしていません。isSiteLocalAddressは非推奨のfec0::/10ブロックを報告し、それを置き換えたfc00::/7のユニークローカルアドレスは報告せず、JDKにはそれらのための述語が一切存在しません。したがって、同じアドレスが記述方法によって受け入れられたり拒否されたりしていました。ホスト名がfc00::/7に解決されるWebhook URLは、同一のアドレスをリテラルとして与えた場合には拒否するガードを通過していました。その後PushNotificationDispatcherは、そのアドレスへプッシュ通知を送信し、同じ設定に含まれるAuthorizationヘッダーも併せて送信しました。そのスキームと認証情報は登録を行う呼び出し元が指定します。Webhook URLは、プッシュ通知を登録する呼び出し元からTaskPushNotificationConfig.urlとして渡されるため攻撃者が制御可能であり、allowLocalWebhookUrlsはデフォルトでfalseであり、これはガードが有効に機能することが期待される設定です。応答は設定を登録した呼び出し元へ中継されないため、この隙間がもたらすのは、ガードが拒否するよう書かれていた内部アドレスへの、Camelプロセスからのブラインドな外向きHTTPSリクエストです。その方法でサービスに到達するにはさらに、対象環境において名前がfc00::/7に解決されること、そのアドレスでHTTPSサービスが待ち受けていること、要求される名前に対してTLSハンドシェイクが成功することが必要であり、そのため深刻度は中程度と評価されています。同じ文字列の事前チェックは逆方向にも誤っていました。ホストがIPリテラルであることをまず確認せずに生のホスト文字列と照合していたため、fcやfdで始まるだけの名前、例えばfcm.googleapis.comなどが一律に拒否されていました。ユーザーはこの問題を修正したバージョン4.23.0へのアップグレードを推奨されます。4.22.xリリースストリームを使用している場合は、4.22.2へのアップグレードを推奨します。4.21.xリリースラインはこの問題が解決される前にサポート終了となっており、修正は提供されないため、その上でのデプロイはサポート対象のリリースへ移行する必要があります。リテラル経路と解決経路の両方が、単一の共有クラシファイアを用いてアドレスを生のバイト列から分類するようになりました。このクラシファイアはfc00::/7と共有アドレス空間100.64.0.0/10、さらに埋め込まれたIPv4アドレスがグローバルにルーティング可能でないIPv4互換アドレス、NAT64(64:ff9b::/96)、6to4(2002::/16)アドレスを認識します。直ちにアップグレードできないデプロイでは、A2Aプッシュ通知設定の経路の前に認証を配置してWebhook URLが信頼できない呼び出し元から届かないようにし、ネットワークレベルでCamelプロセスからfc00::/7への外向き通信を拒否してください。デプロイでIPv6を必要としない場合は、JVMを-Djava.net.preferIPv4Stack=trueで起動することで、この隙間が依拠するアドレスクラスを排除できます。allowLocalWebhookUrls=falseはすでにデフォルトであり、それ自体ではこの隙間を塞がないことに注意してください。
ソース
CVE-2026-71569(Apache Camel camel-a2a の Webhook 検証における SSRF ガードバイパス)の実行可能な Docker 実証コード。プローブと修正検証を含みます。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。