REDHAT-BUG-2519953: High severity maven/io.netty/netty-handler vulnerability
Netty is an asynchronous, event-driven network application framework. Prior to 4.1.137.Fina and 4.2.17.Final, io.netty.handler.ssl.SslClientHelloHandler#decode checks the wrong offset before reading the four-byte TLS handshake header, so a ClientHello whose handshake header spans records can cause an IndexOutOfBoundsException and invoke select(ctx, null). This selects the default SslContext instead of the SNI-specific context. In deployments where per-SNI clientAuth=REQUIRE is the sole mutual TLS gate, the default SslContext uses clientAuth=NONE or clientAuth=OPTIONAL, and no application-layer certificate verification exists, an unauthenticated remote attacker can bypass the protected route's mutual TLS requirement. This issue is fixed in versions 4.1.137.Final and 4.2.17.Final.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Nettyto a version that resolves this vulnerability.Fixed in 4.1.137.Final - Upgrade
Upgrade
Nettyto a version that resolves this vulnerability.Fixed in 4.2.17.Final - Configuration
Configure the default SslContext to use clientAuth=REQUIRE so that mutual TLS remains enforced when the SNI-specific context is not selected.
default SslContext clientAuth = REQUIRE