CVE-2026-16318 PUBLISHED

QUIC Transport Parameters Memory Leak During HelloRetryRequest in s2n-tls

Assigner: AMZN
Reserved: 20.07.2026 Published: 21.07.2026 Updated: 21.07.2026

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

Metrics

CVSS 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
CVSS Score: 6.9

Product Status

Vendor Amazon
Product s2n-tls
Versions Default: unaffected
  • affected from 0 to v1.7.5 (incl.)

References

Problem Types

  • CWE-401 Missing release of memory after effective lifetime CWE

Impacts

  • CAPEC-130 Excessive Allocation