CVE-2026-14456
nicheUnbounded memory growth DoS in OpenSSL 3.5 QUIC server listener
OpenSSL QUIC server listeners (a feature introduced with the QUIC server implementation in OpenSSL 3.5) allocate and queue incoming connection channels without any limit, an unbounded resource-allocation flaw tracked as CWE-770. A remote, unauthenticated peer can send many valid QUIC Initial packets whose destination connection IDs match no existing connection; each packet causes the listener to allocate a new channel object queued for SSL_accept(), and if packets arrive faster than the application accepts connections, per-channel memory grows without bound. This memory exhaustion can make the QUIC listener unavailable, yielding a denial of service (CVSS 3.1: 7.5 High, availability impact only; no confidentiality or integrity impact). Only applications acting as QUIC servers on OpenSSL 3.5 are affected - TLS-only OpenSSL usage is unaffected, and the FIPS module sits outside the QUIC implementation. There is currently no public proof-of-concept, no CISA KEV listing, and no known exploitation, with EPSS estimating roughly a 0.7% probability of exploitation in the next 30 days.
What to do: Operators running QUIC servers on OpenSSL 3.5 should upgrade to the patched 3.5.x release that adds the pending-connection limit (default cap of 256 queued connections, adjustable via SSL_set_value_uint). As interim mitigations, ensure the application calls SSL_accept() promptly to drain the pending queue, rate-limit or firewall inbound QUIC (UDP) traffic from untrusted sources, and restrict listener exposure. TLS-only OpenSSL deployments and FIPS-module users are not affected, so first confirm whether your stack actually uses OpenSSL's QUIC listener before prioritizing this fix.
| OpenSSL Project OpenSSL | 3.5.x (all releases containing the QUIC server implementation, present since OpenSSL 3.5, prior to the patched release) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Issue summary: When an OpenSSL QUIC server (Listener SSL object) processes valid QUIC Initial packets for unknown destination connection IDs, it can allocate and queue new incoming channels without enforcing any limit. Impact summary: A remote peer that can make many Initial packets reach the server listener faster than the application accepts connections, can cause the memory allocated to store the per-channel state to grow without any limits, potentially making the QUIC listener unavailable and causing Denial of Service. CWE: CWE-770: Allocation of Resources Without Limits or Throttling Description: The function that handles inbound QUIC packets uses Connection-Id from the packet header to find an existing connection (QUIC channel). If no existing connection is found and the packet type is INITIAL, the function treats the packet as a new connection. It allocates a new channel object and inserts it into a queue where it waits to be accepted by the local application with SSL_accept(3ossl). The memory occupied by these initial channel objects may grow without bounds if the application is not able to call SSL_accept() frequently enough to serve these inbound connection requests. The issue is present since OpenSSL 3.5 when the QUIC server implementation was added. The fix introduces a limit for pending connections. The default limit is set to 256 pending connections (waiting to be accepted by the local application). Applications may change the default by calling SSL_set_value_uint(3ossl). FIPS impact: no The FIPS module is not affected as the QUIC implementation is outside of the OpenSSL FIPS module boundary.
- Weakness
- CWE-770
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
In the news0 stories
No ingested article mentions this CVE yet.