CVE-2026-16318CWE-401

QUIC Transport Parameters Memory Leak During HelloRetryRequest in s2n-tls

Medium · published July 21, 2026

CVSS v4.0
6.9
EPSS
1%
Percentile
43.9
In the wild
Unconfirmed
What it is

The QUIC transport parameters extension handler in s2n-tls incorrectly uses s2n_alloc instead of s2n_realloc to store the peer's transport parameters. When a TLS 1.3 connection goes through a HelloRetryRequest, the handler is called twice on the same connection. On the second call, s2n_alloc zeroes the existing pointer before allocating new memory, causing the first allocation to be leaked.

This can occur during normal QUIC traffic when a client offers a key share group the server does not prefer. An unauthenticated user can amplify the issue by deliberately forcing HelloRetryRequests, causing up to approximately 64 KB of unreachable memory per handshake. Over time, this can lead to increased memory consumption on long-running server processes. The unreachable memory is only reclaimed when the process is restarted.

Only server-side QUIC-enabled deployments are affected. Non-QUIC TLS connections are not affected.

We recommend you upgrade s2n-tls to version v1.7.6

The record
Technical detail
CVSS v4.0
6.9 · MEDIUM
Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
EPSS
0.00529 · 43.9th percentile
Weakness
CWE-401 · Missing Release of Memory after Effective Lifetime
Published
2026-07-21T20:14Z
EPSS history
Timeline
  • 21 JUL 20:14Z
    QUIC Transport Parameters Memory Leak During HelloRetryRequest in s2n-tls
    cvelistv5