Netty の SslClientHelloHandler におけるデコード処理の不備により、断片化された TLS ClientHello を受信した際、誤ってデフォルトの SslContext にフォールバックする脆弱性が存在する。具体的には、ハンドシェイクヘッダーを読み取る際のオフセット計算に誤りがあり、レコードヘッダーを無視してチェックが行われるため、特定の条件下で IndexOutOfBoundsException が発生する。この例外がキャッチされると Netty は SNI の選択を中断してデフォルト設定を適用するため、SNI ごとに mTLS(相互 TLS)認証を強制している構成において、攻撃者が認証をバイパスして接続を確立できる可能性がある。
対象ソフト
Netty は、Java で書かれた高性能な非同期イベント駆動型ネットワークアプリケーションフレームワークである。プロトコルサーバーやクライアントの開発において、大規模な通信を効率的に処理するために広く利用されている。
影響
認証されていない攻撃者により、特定の SNI ルートに設定された mTLS 認証をバイパスされる恐れがある。これにより、本来許可されない未認証の通信が内部リソースへアクセス可能になる。
対応策
io.netty:netty-handler を 4.1.137.Final または 4.2.17.Final 以降にアップグレードすること。