Asayomu Tech
注目github_advisory3

Netty CVE-2026-50010: TrustManager ラップでホスト名検証がサイレント無効化

30秒で把握

  • 1CVE-2026-50010: Netty の TrustManager ラップでホスト名検証がサイレント無効化
  • 2SslContextBuilder.forClient().trustManager() 使用時に MITM 攻撃が成立し得る
  • 3Netty 4.2 デフォルト設定でも回避不可・独自 X509TrustManager 利用箇所の即時確認必須

要約

Netty の `SimpleTrustManagerFactory.engineGetTrustManagers()` が、ユーザー提供の `X509TrustManager` を `X509TrustManagerWrapper` でラップする際に、ホスト名検証が完全に無効化される脆弱性(CVE-2026-50010)が判明した。ラップ後のオブジェクトが `X509ExtendedTrustManager` として認識されるため、SunJSSE および Netty 自身の再ラップ処理がスキップされ、エンドポイント識別が追加されない。結果として、Netty 4.2 がデフォルトで `endpointIdentificationAlgorithm="HTTPS"` を設定していても、`SslContextBuilder.forClient().trustManager(somePlainX509TrustManager)` で構築したクライアントはホスト名検証を一切実施しない。中間者攻撃(MITM)に対して無防備な状態になるため、該当構成の即時確認が必要。

あなたへの影響

Netty を使って TLS クライアントを実装しているチームは。

推奨:`SslContextBuilder.forClient().trustManager(...)` に独自の `X509TrustManager` を渡している箇所を今日中に洗い出し、修正版リリースへの更新またはワークアラウンド(`X509ExtendedTrustManager` を直接実装する形への置き換え)を次スプリントまでに適用すべき。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。