CVE-2026-6860: Medium severity Eclipse Vert.x vulnerability
A TCP client can perform a TLS handshake and present the server name extension with a server name that is accepted by a server wildcard name, e.g. if the server is configured with a certificate accepting .example.com, any XYZ.example.com where xyz is a valid name can be used.
Other sources
Potential unbounded server-side SNI SslContext cache growth in Vert.x TLS handling, with possible resource-exhaustion / DoS impact.
On affected versions, matching server-side SNI names are cached via computeIfAbsent(serverName, ...) in a serverName-keyed SslContext cache, and I could not find any bound, TTL, or eviction for that cache.
The implementation differs slightly by branch, but the same sink appears to be present in released versions 4.3.4 through 5.0.8: - 4.3.x: SSLHelper - 4.4.x / 4.5.x: SslChannelProvider - 5.0.x and current master: SslContextProvider
It appears that when server-side SNI is enabled, and wildcard or otherwise broad hostname mappings are used, an unauthenticated client can send many distinct matching SNI names and cause the server to retain increasing numbers of SslContext entries over time, leading to increasing memory consumption and possible DoS conditions.
A check was performed on the related TCP SNI path across affected versions, the QUIC SNI path on 5.x, and the wildcard hostname resolution helpers used during certificate selection.
Steps to reproduce
1. Configure a Vert.x server with setSsl(true) and setSni(true). 2. Use a keystore or mapping where many distinct SNI names match a wildcard or similarly broad rule. 3. Send repeated connections with distinct matching SNI values. 4. Observe that the SNI cache size grows with the number of unique matching names.
Local observations: - initial sniEntrySize() = 0 - after 20 unique matching names: 20 - after 40 unique matching names: 40 - repeating previously seen matching names did not grow the cache further - non-matching SNI names did not create new cache entries
What are the affected versions?
Affected released versions confirmed on origin: - 4.3.4 through 4.3.8 - 4.4.0 through 4.4.9 - 4.5.0 through 4.5.25 - 5.0.0 through 5.0.8
Not affected by the same sink: - 4.0.x through 4.2.x - 4.3.0 through 4.3.3
Are there any ways to mitigate this issue?
- Disable server-side SNI if it is not needed. - Avoid wildcard or otherwise high-cardinality hostname mappings where feasible. - Apply connection or rate limiting in front of the service.
— GitHub
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Disable server-side SNI if it is not needed (the issue is described as occurring when server-side SNI is enabled with broad/wildcard hostname mappings).
Vert.x TLS server (server-side SNI) server-side SNI = disable - Compensating control
Apply connection or rate limiting in front of the service.
- Compensating control
Avoid wildcard or otherwise high-cardinality hostname mappings where feasible.
- Compensating control
Ensure SNI server name acceptance does not rely on overly broad wildcard mappings; use narrower hostname mappings so many distinct SNI names cannot match a single broad certificate rule (e.g., avoid configurations where *.example.com would accept many XYZ.example.com names).
Event History
Frequently Asked Questions
What is the severity of CVE-2026-6860?
CVE-2026-6860 is considered a moderate severity vulnerability due to its potential for unbounded server name validation.
How do I fix CVE-2026-6860?
To fix CVE-2026-6860, upgrade to a patched version of io.vertx:vertx-core that is beyond the vulnerable versions mentioned.
Which versions of io.vertx:vertx-core are affected by CVE-2026-6860?
CVE-2026-6860 affects io.vertx:vertx-core versions from 4.3.4 to 5.0.8 inclusively.
What kind of attack does CVE-2026-6860 expose my server to?
CVE-2026-6860 exposes your server to potential man-in-the-middle attacks due to improper server name validation.
Is CVE-2026-6860 specific to any particular deployment?
CVE-2026-6860 specifically impacts applications utilizing wildcard certificates in their TLS configurations.