CVE-2026-50010: Netty disabled TLS hostname verification in netty-handler

CVE-2026-50010 · Severity: high · CVSS 7.5 · Published 2026-06-12

Netty is a popular networking framework used by many Java applications to handle internet communications. A flaw in how it handles security certificates means that even when developers enable 'hostname verification' (a check to ensure a website is who it says it is), the check may be silently skipped. This could allow an attacker to intercept or eavesdrop on encrypted traffic between a client and a server without being detected.

Technologies: io.netty:netty-handler (Maven). Vendors: Maven.

Quick answers

Is CVE-2026-50010 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-50010 being exploited in the wild.
How severe is CVE-2026-50010?
High severity, with a CVSS score of 7.5, published 12 June 2026.
Which products and versions are affected?
io.netty:netty-handler (Maven) ECOSYSTEM:introduced=4.2.0.Final,fixed=4.2.15.Final.
Is there a fix for CVE-2026-50010?
Yes. io.netty:netty-handler (Maven): upgrade to 4.2.15.Final or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-50010 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-50010?
Check whether you run io.netty:netty-handler (Maven) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • io.netty:netty-handler (Maven): upgrade to 4.2.15.Final or later
    # set io.netty:netty-handler to 4.2.15.Final in your pom.xml or build.gradle

Technical details

The vulnerability exists in SimpleTrustManagerFactory.engineGetTrustManagers() and related code paths within the netty-handler package. When a user provides a plain X509TrustManager, Netty wraps it in an X509TrustManagerWrapper. This wrapper extends X509ExtendedTrustManager but incorrectly implements the 3-argument checkServerTrusted method by discarding the SSLEngine parameter and delegating to the 2-argument version. Because the resulting object is technically an instance of X509ExtendedTrustManager, subsequent security layers (like SunJSSE or Netty's OpenSslX509TrustManagerWrapper) fail to apply necessary endpoint identification logic. This results in a complete bypass of hostname verification for clients configured with SslContextBuilder.forClient().trustManager(...). The issue is resolved in versions 4.1.135.Final and 4.2.15.Final.

Affected products

  • Netty netty-handler >= 4.2.0.Final, < 4.2.15.Final
  • Netty netty-handler <= 4.1.134.Final

Identifiers

  • CVE-2026-50010
  • GHSA-c653-97m9-rcg9

Timeline

  • 2026-06-02: patched: Release of 4.1.135.Final and 4.2.15.Final
  • 2026-06-05: disclosed: Initial advisory publication
  • 2026-06-12: advisory: NVD publication
  • 2026-06-15: advisory: GitHub Advisory reviewed and updated

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.