CVE-2026-84784 json
QUIC: Unbounded RETIRE_CONNECTION_ID Backlog
published 2026-09-29 40 d ago modified 2026-10-08 32 d ago also EUVD-2026-89015
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 49%
- public exploits
- 0
- none known
Summary
Issue summary: A malicious remote peer may flood the local QUIC stack with NEW_CONNECTION_ID frames by avoiding a limit check on how many connection IDs the remote QUIC stack can use.
Impact summary: The local QUIC stack sends a RETIRE_CONN_ID frame for every NEW_CONNECTION_ID frame it receives. The RETIRE_CONN_ID frame is dispatched via the Control Frame Queue (CFQ). If the remote peer also withholds ACKs, then it can force the local stack to allocate ~400MB (depending on ACK delay).
CWE: CWE-770: Allocation of Resources Without Limits or Throttling
Description: RFC 9000 sections 5.1.1 and 5.1.2 [1] describe the mechanism by which a remote peer can notify the local QUIC stack to change the destination connection ID (a.k.a. CID) the local stack uses to identify the connection at the remote peer. Each CID is associated with a sequence number. The sequence number is transmitted in NEW_CONNECTION_ID and RETIRE_CONNECTION_ID frames to identify the CID which is being either associated with a connection or retired.
The remote peer sends a NEW_CONNECTION_ID frame to let the local stack know a new CID is being associated with an existing connection. The NEW_CONNECTION_ID frame carries the new CID, its sequence number, and the retire-prior-to number. The retire-prior-to identifies existing CIDs that are to be retired. The local QUIC stack must send a RETIRE_CONNECTION_ID for every destination CID whose sequence number is less than retire-prior-to. The CID becomes retired after the local stack receives an ACK for its RETIRE_CONNECTION_ID frame.
Although the OpenSSL QUIC stack supports at most one destination CID for every connection, it can be tricked into processing more than one RETIRE_CONNECTION_ID frame per connection. The OpenSSL QUIC stack currently retires the destination CID as soon as it receives the NEW_CONNECTION_ID, while in fact the destination CID must be retired after an ACK for the RETIRE_CONNECTION_ID frame is received. Correcting the flawed logic also fixes the backlog growth.
[1] https://datatracker.ietf.org/doc/html/rfc9000#name-issuing-connection-ids
FIPS impact: no The FIPS module is not affected as the QUIC implementation is outside of the OpenSSL FIPS module boundary.
Patch / fix
- OpenSSL OpenSSL 3.4.8, 3.5.9, 3.6.5, 4.0.3
- openssl Debian 13 3.5.7-1~deb13u3
- openssl Debian 14 3.6.5-1
debian advisories DEBIAN-CVE-2026-84784
- openssl Ubuntu 26.04 LTS 3.5.5-1ubuntu3.6
ubuntu advisories UBUNTU-CVE-2026-84784
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- openssl3 hummingbird 1 3.5.9-0.1.hum1
- openssl3-libs hummingbird 1 3.5.9-0.1.hum1
- openssl3-devel-engine hummingbird 1 3.5.9-0.1.hum1
- openssl hummingbird 1 3.5.9-0.1.hum1
- openssl-libs hummingbird 1 3.5.9-0.1.hum1
- openssl-perl hummingbird 1 3.5.9-0.1.hum1
- openssl-config-fips hummingbird 1 3.5.9-0.1.hum1
- openssl-devel-engine hummingbird 1 3.5.9-0.1.hum1
red hat advisories RHSA-2026:74166RHSA-2026:74162
- openssl-3 SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 3.5.0-160000.11.1
- openssl-3 SLE Module for Basesystem 15 SP7 3.5.0-150700.5.53.2
suse advisories SUSE-SU-2026:24188-1SUSE-SU-2026:24245-1SUSE-SU-2026:4414-1
- openssl-3 openSUSE Leap 16.0 3.5.0-160000.11.1
opensuse advisories openSUSE-SU-2026:22102-1
- openssl Alpine 3.21 3.3.7-r2
alpine advisories ALPINE-CVE-2026-84784
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- openssl Azure Linux 3.0 3.3.7-7
azure linux advisories AZL-105585
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-84784 updated cvss 5.3
openssl: OpenSSL: Denial of Service via unbounded QUIC connection identifier backlog
-
Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9 Red Hat Enterprise Linux 9 openssl, shim-x64, shim-aa64, openssl-libs, openssl-perl, compat-openssl11, +5 more Red Hat Enterprise Linux 10 shim 16.1-4.el10, openssl 3.5.8-1.el10_2, edk2 20260221-7.el10_3.1, shim-unsigned-x64 16.1-1.el10, shim-unsigned-aarch64 16.1-2.el10 Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9 Red Hat Satellite 6 puppet-agent, openvox-agent 8.28.1-1.el9sataffected: workaround, no fix available “If QUIC is not required, disable it in the application or reverse proxy. Restrict untrusted QUIC/UDP peers that can complete or attempt a handshake.”
+1 more productsfewer
Red Hat Self-service automation portal 2 ansible-automation-platform/bootc-automation-portal-rhel9 -
Red Hat OpenShift AI (RHOAI) rhoai/odh-core-bff-rhel9, rhoai/odh-dashboard-rhel9, rhoai/odh-mod-arch-maas-rhel9, rhoai/odh-mod-arch-automl-rhel9, rhoai/odh-mod-arch-gen-ai-rhel9, rhoai/odh-mod-arch-mlflow-rhel9, +6 moreunder investigation
-
Red Hat Hardened Images openssl 3.5.9-0.1.hum1, openssl3 3.5.9-0.1.hum1, openssl-libs 3.5.9-0.1.hum1, openssl-perl 3.5.9-0.1.hum1, openssl3-libs 3.5.9-0.1.hum1, openssl-config-fips 3.5.9-0.1.hum1, +3 morefixed: vendor fix “If QUIC is not required, disable it in the application or reverse proxy. Restrict untrusted QUIC/UDP peers that can complete or attempt a handshake.” RHSA-2026:74162
-
Red Hat Enterprise Linux 6 openssl, openssl-perl, openssl 3.5.8-1.el10_2 Red Hat Enterprise Linux 7 ovmf, OVMF, shim, AAVMF, mokutil, openssl, +6 more Red Hat Enterprise Linux 8 openssl, shim-x64, edk2-ovmf, shim-aa64, shim-ia32, edk2-aarch64, +13 more Red Hat Enterprise Linux 9 edk2-ovmf, edk2-tools, edk2-aarch64, edk2 20260221-7.el10_3.1 Red Hat Hardened Images unbound 1.26.1-1.hum1 Red Hat JBoss Core Services jbcs-httpd24-openssl, jbcs-httpd24-openssl-libs, jbcs-httpd24-openssl-perlnot affected: vulnerable code not present
+1 more productsfewer
Red Hat OpenShift AI (RHOAI) rhoai/odh-mlflow-rhel9, rhoai/odh-kube-rbac-proxy-rhel9, rhoai/odh-maas-controller-rhel9, rhoai/odh-mlflow-operator-rhel9, rhoai/odh-model-controller-rhel9, rhoai/odh-ogx-k8s-operator-rhel9, +14 more
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 40 d ago
Exploit prediction
0.61% chance of exploitation in the next 30 days, higher than 49% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected products
- OpenSSL OpenSSL
Classification
- Weakness
-
- CWE-770 Allocation of Resources Without Limits or Throttling
- Technology feeds
References
-
github.com
/openssl/openssl/commit/e9e5155833fa968bee50024bf9ca3a185ab599fe
patch
-
github.com
/openssl/openssl/commit/4685c914b0d410b1034f40b547c95bc95e7a380a
patch
-
github.com
/openssl/openssl/commit/dba3c48d653c64fcbc9070a17a0ee2b3e2f3af1f
patch
-
github.com
/openssl/openssl/commit/9a30fe0fba195c14e5b87bf93c0d0fdb70373806
patch
-
openssl-library.org
/news/secadv/20260929.txt
vendor-advisory
Sources
- CVE List CVE-2026-84784
- NVD CVE-2026-84784
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.