Skip to content

Commit dceeede

Browse files
committed
Add advisory for Low severity CVE-2026-14456
1 parent 597a9a7 commit dceeede

2 files changed

Lines changed: 201 additions & 0 deletions

File tree

‎secadv/20260813.txt‎

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
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/

‎secjson/CVE-2026-14456.json‎

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
{
2+
"containers": {
3+
"cna": {
4+
"affected": [
5+
{
6+
"defaultStatus": "unaffected",
7+
"product": "OpenSSL",
8+
"vendor": "OpenSSL",
9+
"versions": [
10+
{
11+
"lessThan": "4.0.2",
12+
"status": "affected",
13+
"version": "4.0.0",
14+
"versionType": "semver"
15+
},
16+
{
17+
"lessThan": "3.6.4",
18+
"status": "affected",
19+
"version": "3.6.0",
20+
"versionType": "semver"
21+
},
22+
{
23+
"lessThan": "3.5.8",
24+
"status": "affected",
25+
"version": "3.5.0",
26+
"versionType": "semver"
27+
}
28+
]
29+
}
30+
],
31+
"credits": [
32+
{
33+
"lang": "en",
34+
"type": "reporter",
35+
"value": "Filipe Casal (Trail of Bits)"
36+
},
37+
{
38+
"lang": "en",
39+
"type": "remediation developer",
40+
"value": "Alexandr Nedvedicky"
41+
}
42+
],
43+
"datePublic": "2026-08-13T09:00:13+02:00",
44+
"descriptions": [
45+
{
46+
"lang": "en",
47+
"supportingMedia": [
48+
{
49+
"base64": false,
50+
"type": "text/html",
51+
"value": "Issue summary: When an OpenSSL QUIC server (Listener SSL object) processes<br>valid QUIC Initial packets for unknown destination connection IDs, it<br>can allocate and queue new incoming channels without enforcing any limit.<br><br>Impact summary: A remote peer that can make many Initial packets reach the<br>server listener faster than the application accepts connections, can cause the<br>memory allocated to store the per-channel state to grow without any limits,<br>potentially making the QUIC listener unavailable and causing Denial of Service.<br><br>CWE: CWE-770: Allocation of Resources Without Limits or Throttling<br><br>Description: The function that handles inbound QUIC packets uses<br>Connection-Id from the packet header to find an existing connection<br>(QUIC channel). If no existing connection is found and the packet<br>type is INITIAL, the function treats the packet as a new connection. It<br>allocates a new channel object and inserts it into a queue where it<br>waits to be accepted by the local application with SSL_accept(3ossl).<br>The memory occupied by these initial channel objects may grow<br>without bounds if the application is not able to call SSL_accept()<br>frequently enough to serve these inbound connection requests.<br><br>The issue is present since OpenSSL 3.5 when the QUIC server implementation<br>was added.<br><br>The fix introduces a limit for pending connections. The default limit is set<br>to 256 pending connections (waiting to be accepted by the local application).<br>Applications may change the default by calling SSL_set_value_uint(3ossl).<br><br>FIPS impact: no<br>The FIPS module is not affected as the QUIC implementation is outside of<br>the OpenSSL FIPS module boundary."
52+
}
53+
],
54+
"value": "Issue summary: When an OpenSSL QUIC server (Listener SSL object) processes\nvalid QUIC Initial packets for unknown destination connection IDs, it\ncan allocate and queue new incoming channels without enforcing any limit.\n\nImpact summary: A remote peer that can make many Initial packets reach the\nserver listener faster than the application accepts connections, can cause the\nmemory allocated to store the per-channel state to grow without any limits,\npotentially making the QUIC listener unavailable and causing Denial of Service.\n\nCWE: CWE-770: Allocation of Resources Without Limits or Throttling\n\nDescription: The function that handles inbound QUIC packets uses\nConnection-Id from the packet header to find an existing connection\n(QUIC channel). If no existing connection is found and the packet\ntype is INITIAL, the function treats the packet as a new connection. It\nallocates a new channel object and inserts it into a queue where it\nwaits to be accepted by the local application with SSL_accept(3ossl).\nThe memory occupied by these initial channel objects may grow\nwithout bounds if the application is not able to call SSL_accept()\nfrequently enough to serve these inbound connection requests.\n\nThe issue is present since OpenSSL 3.5 when the QUIC server implementation\nwas added.\n\nThe fix introduces a limit for pending connections. The default limit is set\nto 256 pending connections (waiting to be accepted by the local application).\nApplications may change the default by calling SSL_set_value_uint(3ossl).\n\nFIPS impact: no\nThe FIPS module is not affected as the QUIC implementation is outside of\nthe OpenSSL FIPS module boundary."
55+
}
56+
],
57+
"metrics": [
58+
{
59+
"format": "other",
60+
"other": {
61+
"content": {
62+
"text": "Low"
63+
},
64+
"type": "https://openssl-library.org/policies/general/security-policy/"
65+
}
66+
}
67+
],
68+
"problemTypes": [
69+
{
70+
"descriptions": [
71+
{
72+
"cweId": "CWE-770",
73+
"description": "CWE-770 Allocation of Resources Without Limits or Throttling",
74+
"lang": "en",
75+
"type": "CWE"
76+
}
77+
]
78+
}
79+
],
80+
"providerMetadata": {
81+
"orgId": "00000000-0000-4000-9000-000000000000",
82+
"shortName": "openssl"
83+
},
84+
"references": [
85+
{
86+
"name": "OpenSSL Advisory",
87+
"tags": [
88+
"vendor-advisory"
89+
],
90+
"url": "https://openssl-library.org/news/secadv/20260813.txt"
91+
},
92+
{
93+
"name": "4.0 branch git commit",
94+
"tags": [
95+
"patch"
96+
],
97+
"url": "https://github.com/openssl/openssl/commit/f2f1465f2d2e5c61dfeac4d20fd093797d821139"
98+
},
99+
{
100+
"name": "3.6 branch git commit",
101+
"tags": [
102+
"patch"
103+
],
104+
"url": "https://github.com/openssl/openssl/commit/4084152e040329ca0194c4c1750b9b46d00a5b6b"
105+
},
106+
{
107+
"name": "3.5 branch git commit",
108+
"tags": [
109+
"patch"
110+
],
111+
"url": "https://github.com/openssl/openssl/commit/08e7756c3900bcfd77a720e7b74e27d6e4ed01a9"
112+
}
113+
],
114+
"source": {
115+
"discovery": "UNKNOWN"
116+
},
117+
"title": "Unbounded Memory Growth in QUIC Server Incoming Channel Queue",
118+
"x_generator": {
119+
"engine": "Vulnogram 0.2.0"
120+
}
121+
}
122+
},
123+
"cveMetadata": {
124+
"assignerOrgId": "00000000-0000-4000-9000-000000000000",
125+
"cveId": "CVE-2026-14456",
126+
"requesterUserId": "00000000-0000-4000-9000-000000000000",
127+
"serial": 1,
128+
"state": "PUBLISHED"
129+
},
130+
"dataType": "CVE_RECORD",
131+
"dataVersion": "5.1"
132+
}

0 commit comments

Comments
 (0)