CVE-2026-50010
Undergoing Analysis Undergoing Analysis - In Progress
Netty X509TrustManager Endpoint Identification Bypass

Publication date: 2026-06-12

Last updated on: 2026-06-12

Assigner: GitHub, Inc.

Description
Netty is a network application framework for development of protocol servers and clients. Prior to versions 4.1.135.Final and 4.2.15.Final, SimpleTrustManagerFactory.engineGetTrustManagers() and related paths wrap any user-supplied plain X509TrustManager in X509TrustManagerWrapper, which extends X509ExtendedTrustManager but implements the 3-arg checkServerTrusted(chain, authType, SSLEngine) by discarding the SSLEngine and calling the 2-arg delegate. Because the object now IS an X509ExtendedTrustManager, neither SunJSSE's internal AbstractTrustManagerWrapper nor Netty's own OpenSslX509TrustManagerWrapper will re-wrap it to add endpoint-identification. Consequently, even though Netty 4.2 sets endpointIdentificationAlgorithm="HTTPS" by default, a client built with `SslContextBuilder.forClient().trustManager(somePlainX509TrustManager)` performs no hostname verification at all. Versions 4.1.135.Final and 4.2.15.Final patch the issue.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-12
Last Modified
2026-06-12
Generated
2026-06-12
AI Q&A
2026-06-12
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
netty netty to 4.2.15.Final (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-347 The product does not verify, or incorrectly verifies, the cryptographic signature for data.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

The vulnerability CVE-2026-50010 in Netty involves a security flaw where wrapping a plain X509TrustManager in a X509TrustManagerWrapper silently disables hostname verification.

This happens because the wrapper extends X509ExtendedTrustManager but incorrectly implements the checkServerTrusted method by discarding the SSLEngine parameter and calling the 2-argument delegate method.

As a result, neither SunJSSE's AbstractTrustManagerWrapper nor Netty's OpenSslX509TrustManagerWrapper re-wraps the object to add endpoint identification.

Despite Netty 4.2 setting endpointIdentificationAlgorithm="HTTPS" by default, clients using SslContextBuilder.forClient().trustManager(somePlainX509TrustManager) perform no hostname verification, exposing them to man-in-the-middle attacks.

Impact Analysis

This vulnerability can have a high impact on confidentiality because it disables hostname verification during SSL/TLS connections.

Attackers could exploit this flaw to perform man-in-the-middle attacks, intercepting sensitive data without detection.

Since the attack vector is network-based with low complexity and requires no privileges or user interaction, it is relatively easy for attackers to exploit.

Compliance Impact

This vulnerability disables hostname verification in certain Netty client configurations, exposing them to man-in-the-middle attacks. Such attacks can lead to interception of sensitive data, which poses a high risk to confidentiality.

Because standards and regulations like GDPR and HIPAA require protection of sensitive data and secure communication channels, this vulnerability could lead to non-compliance by failing to adequately protect data confidentiality during network communications.

Detection Guidance

This vulnerability involves improper hostname verification in Netty clients using a plain X509TrustManager wrapped in X509TrustManagerWrapper. Detection involves identifying affected Netty versions and usage patterns in your applications.

  • Check the Netty version used in your applications. Versions up to 4.1.134.Final and 4.2.14.Final are vulnerable.
  • Review your application's SSL/TLS client configuration to see if it uses SslContextBuilder.forClient().trustManager(somePlainX509TrustManager).
  • Use network monitoring tools to detect TLS connections that do not perform hostname verification, though this may be difficult to detect purely from network traffic.

Specific commands depend on your environment, but you can start by checking your application's dependencies and versions, for example:

  • For Maven projects: `mvn dependency:tree | grep netty`
  • For Gradle projects: `gradle dependencies | grep netty`
  • For running Java processes, you can inspect the classpath or jar versions to identify Netty versions.
Mitigation Strategies

The primary mitigation is to upgrade Netty to a patched version where this issue is fixed.

  • Upgrade to Netty version 4.1.135.Final or later, or 4.2.15.Final or later.
  • Avoid using plain X509TrustManager wrapped in X509TrustManagerWrapper without proper hostname verification.
  • Review your SSL/TLS client configuration to ensure endpoint identification (hostname verification) is properly enabled.

If upgrading immediately is not possible, consider implementing additional hostname verification in your client code as a temporary workaround.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-50010. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart