CVE-2024-1300
Medium · 5.4CVSS
5.4
EPSS
1.1%
Published
Apr 2, 2024
CISA due date
—
Cloudanix analysis
A flaw in a popular server toolkit lets attackers slowly drain memory on systems that handle secure web connections, eventually causing those systems to crash.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Memory leak occurs when TLS servers using SNI cache SSL contexts for unknown server names mapped to the default certificate instead of discarding them, eventually exhausting JVM heap.
Why it matters to the business
Production TLS endpoints can become unavailable due to out-of-memory crashes, interrupting services and requiring restarts or scaling events until the root cause is addressed.
How an attack unfolds
An attacker repeatedly connects to a Vert.x TCP server configured with TLS and SNI, supplying client hello messages containing arbitrary unknown server names; each connection causes an SSL context to be erroneously retained in the server name map, steadily consuming memory until the JVM terminates with an out-of-memory error.
How to fix it
Upgrade Eclipse Vert.x to a release that corrects the SNI server-name-map caching behavior; if an upgrade is not immediately feasible, disable SNI or restrict the set of accepted server names to reduce the attack surface.
How to confirm the fix worked
After applying the update, confirm that memory usage remains stable under a test load of unknown SNI client hellos and that no SSL contexts accumulate in heap dumps for unmapped names.
Typical attack path
- Scan for publicly reachable Vert.x TLS endpoints that advertise SNI support
- Generate TLS client hello messages containing random or attacker-chosen server names not present in the configured certificate map
- Establish repeated connections at a rate sufficient to trigger repeated caching of default-certificate contexts
- Monitor target memory consumption or wait for JVM OOM termination to confirm successful resource exhaustion
How to detect it
Search application and JVM logs for repeated OutOfMemoryError events correlated with TLS handshake activity; inspect connection logs for high volumes of client hellos containing server names absent from the configured certificate map.
- java.lang.OutOfMemoryError.*SSL
- unknown SNI server name
- Vertx.*SNI.*cache
What your security team should do
- Apply the Vert.x patch or configuration change within the next maintenance window given the public availability of the flaw
- Add JVM heap and connection-rate monitoring for all TLS Vert.x instances to detect anomalous memory growth
- Review TLS server configurations to ensure only expected SNI names are mapped and the default certificate path is minimized
The record
A vulnerability in the Eclipse Vert.x toolkit causes a memory leak in TCP servers configured with TLS and SNI support. When processing an unknown SNI server name assigned the default certificate instead of a mapped certificate, the SSL context is erroneously cached in the server name map, leading to memory exhaustion. This flaw allows attackers to send TLS client hello messages with fake server names, triggering a JVM out-of-memory error.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Maven | io.vertx:vertx-core | 4.3.4 | 4.4.8 |
| Maven | io.vertx:vertx-core | 4.5.0 | 4.5.3 |
| maven | io.vertx/vertx-core | 4.3.4 | 4.4.8 |
| maven | io.vertx/vertx-core | 4.5.0 | 4.5.3 |
Related vulnerabilities
- CVE-2026-1002 The Vert.x Web static handler component cache can be manipulated to deny the access to… Also affects io.vertx:vertx-core
- CVE-2026-90870 A missing release of backend receiver sessions in the Ad Hoc Transfer component of… CWE-772
- CVE-2026-112200 P-Net before 1.0.3 does not release the Application Relationship (AR) and the RPC session… CWE-772
- CVE-2026-115793 P-Net before 1.0.3 does not release the RPC session allocated for an RPC request that… CWE-772
- CVE-2026-118262 Echo is a Go web framework. CWE-772
- CVE-2026-114236 storage/pkg/archive.ApplyLayer and ApplyUncompressedLayer may, when processing corrupt or… CWE-772
- CVE-2026-59951 The MCP Python SDK, called mcp on PyPI, is a Python implementation of the Model Context… CWE-772
- CVE-2026-104031 A flaw was found in SSSD. CWE-772