|
| 1 | +OpenSSL Security Advisory [13th August 2026] |
| 2 | +============================================ |
| 3 | + |
| 4 | +Unbounded Memory Growth in QUIC Server Incoming Channel Queue (CVE-2026-14456) |
| 5 | +============================================================================== |
| 6 | + |
| 7 | +Severity: Low |
| 8 | + |
| 9 | +Issue summary: When an OpenSSL QUIC server (Listener SSL object) processes |
| 10 | +valid QUIC Initial packets for unknown destination connection IDs, it |
| 11 | +can allocate and queue new incoming channels without enforcing any limit. |
| 12 | + |
| 13 | +Impact summary: A remote peer that can make many Initial packets reach the |
| 14 | +server listener faster than the application accepts connections, can cause the |
| 15 | +memory allocated to store the per-channel state to grow without any limits, |
| 16 | +potentially making the QUIC listener unavailable and causing Denial of Service. |
| 17 | + |
| 18 | +CWE: CWE-770: Allocation of Resources Without Limits or Throttling |
| 19 | + |
| 20 | +Description: The function that handles inbound QUIC packets uses |
| 21 | +Connection-Id from the packet header to find an existing connection |
| 22 | +(QUIC channel). If no existing connection is found and the packet |
| 23 | +type is INITIAL, the function treats the packet as a new connection. It |
| 24 | +allocates a new channel object and inserts it into a queue where it |
| 25 | +waits to be accepted by the local application with SSL_accept(3ossl). |
| 26 | +The memory occupied by these initial channel objects may grow |
| 27 | +without bounds if the application is not able to call SSL_accept() |
| 28 | +frequently enough to serve these inbound connection requests. |
| 29 | + |
| 30 | +The issue is present since OpenSSL 3.5 when the QUIC server implementation |
| 31 | +was added. |
| 32 | + |
| 33 | +The fix introduces a limit for pending connections. The default limit is set |
| 34 | +to 256 pending connections (waiting to be accepted by the local application). |
| 35 | +Applications may change the default by calling SSL_set_value_uint(3ossl). |
| 36 | + |
| 37 | +FIPS impact: no |
| 38 | +The FIPS module is not affected as the QUIC implementation is outside of |
| 39 | +the OpenSSL FIPS module boundary. |
| 40 | + |
| 41 | +OpenSSL 4.0, 3.6 and 3.5 are vulnerable to this issue. |
| 42 | + |
| 43 | +OpenSSL 3.4, 3.0, 1.1.1 and 1.0.2 are not affected by this issue. |
| 44 | + |
| 45 | +OpenSSL 4.0 users should upgrade to OpenSSL 4.0.2 once it is released. |
| 46 | +OpenSSL 3.6 users should upgrade to OpenSSL 3.6.4 once it is released. |
| 47 | +OpenSSL 3.5 users should upgrade to OpenSSL 3.5.8 once it is released. |
| 48 | + |
| 49 | +Due to the low severity of this issue we are not issuing new releases of |
| 50 | +OpenSSL at this time. The fix will be included in the next release of 4.0, |
| 51 | +3.6, and 3.5 branches, once it becomes available. The fix is also available |
| 52 | +in commits f2f1465 (for 4.0), 4084152 (for 3.6), and 08e7756 (for 3.5) in |
| 53 | +the OpenSSL git repository. |
| 54 | + |
| 55 | +This issue was reported on 25 June 2026 by Filipe Casal (Trail of Bits) |
| 56 | +in collaboration with OpenAI. |
| 57 | +The fix has been developed by Alexandr Nedvedicky. |
| 58 | + |
| 59 | +General Advisory Notes |
| 60 | +====================== |
| 61 | + |
| 62 | +URL for this Security Advisory: |
| 63 | +https://openssl-library.org/news/secadv/20260813.txt |
| 64 | + |
| 65 | +Note: the online version of the advisory may be updated with additional details |
| 66 | +over time. |
| 67 | + |
| 68 | +For details of OpenSSL severity classifications please see: |
| 69 | +https://openssl-library.org/policies/general/security-policy/ |
0 commit comments