CVE-2023-45288 in the critical feed json
HTTP/2 CONTINUATION flood in net/http
published 2024-04-03 2 y ago modified 2026-09-10 1 mo ago also BIT-golang-2023-45288 , EUVD-2024-1094 , GHSA-4v7x-pqxf-cx7m , GO-2024-2687
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 89.5%
- EPSS 89.5% chance of exploitation in 30 days, percentile 99.7%
- public exploits
- 0
- none known
Summary
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection.
Patch / fix
- go net/http 1.21.9, 1.22.2
- go golang.org/x/net/http2 0.23.0
- go golang.org/x/net 0.23.0
- bitnami golang 1.21.9, 1.22.2
- go stdlib 1.21.9, 1.22.2
- Go standard library net/http 1.21.9, 1.22.2
- golang.org/x/net golang.org/x/net/http2 0.23.0
- go_standard_library net\/http 1.21.9, 1.22.2
- golang http2 0.23.0
- golang-golang-x-net Debian 14, Debian 13 1:0.23.0+dfsg-
debian advisories DEBIAN-CVE-2023-45288
- golang-1.17 Ubuntu 22.04 LTS 1.17.13-3ubuntu1.3
- golang-1.18 Ubuntu 20.04 LTS 1.18.1-1ubuntu1~20.04.3
- golang-1.18 Ubuntu 22.04 LTS 1.18.1-1ubuntu1.2
- golang-1.21 Ubuntu 20.04 LTS 1.21.1-1~ubuntu20.04.3
- golang-1.21 Ubuntu 22.04 LTS 1.21.1-1~ubuntu22.04.3
- golang-1.18 Ubuntu Pro 16.04 LTS 1.18.1-1ubuntu1~16.04.6+esm1
- golang-1.18 Ubuntu Pro 18.04 LTS 1.18.1-1ubuntu1~18.04.4+esm1
ubuntu advisories UBUNTU-CVE-2023-45288
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
- openshift-pipelines-client openshift pipelines 1.15 1.15.0-11496.el8
- openshift-pipelines-client-redistributable openshift pipelines 1.15 1.15.0-11496.el8
- delve RHEL 8 1.21.2-3.module+el8.10.0+21244+5b2d9000
- golang RHEL 8 1.21.9-1.module+el8.10.0+21671+b35c3b78
- go-toolset RHEL 8 1.21.9-1.module+el8.10.0+21671+b35c3b78
- golang-bin RHEL 8 1.21.9-1.module+el8.10.0+21671+b35c3b78
- golang-src RHEL 8 1.21.9-1.module+el8.10.0+21671+b35c3b78
- golang-misc RHEL 8 1.21.9-1.module+el8.10.0+21671+b35c3b78
red hat advisories RHEA-2024:4022RHSA-2024:3259RHSA-2024:2936RHSA-2024:2935RHSA-2024:1962RHSA-2024:4125
- google-osconfig-agent SLES for SAP applications 16.0, SLES 16.0 20260615.01-160000.1.2
- rhnlib RES-7:Update:Products:MultiLinuxManagerTools:Update, Multi Linux Manager Tools RES-7 5.2.5-70002.3.9.1
- mgr-push RES-7:Update:Products:MultiLinuxManagerTools:Update, Multi Linux Manager Tools RES-7 5.2.4-70002.3.9.2
- spacecmd RES-7:Update:Products:MultiLinuxManagerTools:Update, Multi Linux Manager Tools RES-7 5.2.8-70002.3.12.1
- go1.22-EL RES-7:Update:Products:MultiLinuxManagerTools:Update 1.22.9-70002.1.3.2
- saltbundlepy RES-7:Update:Products:MultiLinuxManagerTools:Update 3.11.15-70002.4.12.1
- saltbundle-swig RES-7:Update:Products:MultiLinuxManagerTools:Update 4.1.1-70002.3.3.1
- golang-packaging RES-7:Update:Products:MultiLinuxManagerTools:Update 15.0.17-70002.1.3.1
suse advisories SUSE-SU-2026:22558-1SUSE-SU-2026:2765-1SUSE-SU-2026:2764-1SUSE-SU-2026:2763-1SUSE-SU-2026:2612-1SUSE-SU-2026:2581-1
- prometheus-blackbox_exporter openSUSE Leap 16.0 0.26.0-bp160.1.1
- google-osconfig-agent openSUSE Leap 16.0 20260615.01-160000.1.2
- velociraptor openSUSE Tumbleweed 0.7.0.4.git185.a5708584-2.1
- golang-github-prometheus-alertmanager openSUSE Leap 16.0 0.28.1-bp160.1.1
- google-guest-agent openSUSE Tumbleweed 20260529.00-1.1
- google-guest-agent openSUSE Leap 16.0 20250506.01-160000.1.1
- google-osconfig-agent openSUSE Tumbleweed 20260119.00-1.1
- prometheus-blackbox_exporter openSUSE Tumbleweed 0.24.0-3.1
opensuse advisories openSUSE-SU-2026:22026-1openSUSE-SU-2026:21210-1openSUSE-SU-2026:11126-1openSUSE-SU-2026:21136-1openSUSE-SU-2026:10921-1openSUSE-SU-2026:20609-1
- git-lfs AlmaLinux 8 3.4.1-2.el8_10
- delve AlmaLinux 8 1.21.2-3.module_el8.10.0+3760+4dd778f9
- golang AlmaLinux 8 1.21.9-1.module_el8.10.0+3840+edaca3c3
- go-toolset AlmaLinux 8 1.21.9-1.module_el8.10.0+3840+edaca3c3
- golang-bin AlmaLinux 8 1.21.9-1.module_el8.10.0+3840+edaca3c3
- golang-src AlmaLinux 8 1.21.9-1.module_el8.10.0+3840+edaca3c3
- golang-misc AlmaLinux 8 1.21.9-1.module_el8.10.0+3840+edaca3c3
- golang-tests AlmaLinux 8 1.21.9-1.module_el8.10.0+3840+edaca3c3
almalinux advisories ALSA-2024:3346ALSA-2024:3259ALSA-2024:2724ALSA-2024:2699ALSA-2024:2562ALSA-2024:2079
- delve Rocky Linux 8 1.21.2-3.module+el8.10.0+1814+f68f8a63
- golang Rocky Linux 8 1.21.9-1.module+el8.10.0+1814+f68f8a63
- go-toolset Rocky Linux 8 1.21.9-1.module+el8.10.0+1814+f68f8a63
- git-lfs Rocky Linux 8 3.4.1-2.el8_10
- golang Rocky Linux 9 1.21.9-2.el9_4
- git-lfs Rocky Linux 9 3.4.1-2.el9_4
- git-lfs Rocky Linux 8 3.2.0-3.el8_9
- delve Rocky Linux 8 1.20.2-1.module+el8.9.0+1392+c9f6376a
rocky linux advisories RLSA-2024:3259RLSA-2024:3346RLSA-2024:2562RLSA-2024:2724RLSA-2024:2699RLSA-2024:1962
- go Alpine 3.19 1.21.9-r0
- go Alpine 3.24, Alpine 3.23, Alpine 3.22 +2 more 1.22.2-r0
- rclone Alpine 3.24, Alpine 3.23, Alpine 3.22 +1 more 1.67.0-r0
- forgejo Alpine 3.24, Alpine 3.23, Alpine 3.22 +1 more 1.21.10.0-r0
alpine advisories ALPINE-CVE-2023-45288
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- application-gateway-kubernetes-ingress Azure Linux 3.0 1.7.7-1
- kubernetes Azure Linux 3.0 1.30.1-1
- skopeo Azure Linux 3.0 1.14.4-3
- jx Azure Linux 3.0 3.10.116-2
- docker-buildx Azure Linux 3.0 0.14.0-1
- etcd Azure Linux 3.0 3.5.18-1
- kured Azure Linux 3.0 1.15.0-2
- cf-cli Azure Linux 3.0 8.7.3-6
azure linux advisories AZL-38158AZL-38173AZL-38209AZL-38233AZL-38260AZL-38281
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
- go.dev/cl/576155 patch
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-2023-45288 updated cvss 7.5
golang: net/http, x/net/http2: unlimited number of CONTINUATION frames causes DoS
-
Red Hat cert-manager Operator for Red Hat OpenShift cert-manager/cert-manager-operator-rhel9 Red Hat Cost Management Metrics Operator costmanagement/costmanagement-metrics-rhel8-operatoraffected: workaround, no fix available “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Fence Agents Remediation Operator workload-availability/fence-agents-remediation-rhel8-operatoraffected: workaround, no fix planned “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Machine Deletion Remediation Operator workload-availability/machine-deletion-remediation-rhel8-operatoraffected: workaround, no fix available “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Migration Toolkit for Applications 6 mta/mta-hub-rhel8affected: workaround, no fix planned “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Multicluster Engine for Kubernetes multicluster-engine/work-rhel9affected: workaround, no fix available “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat NBDE Tang Server tang-operator-container Red Hat Node HealthCheck Operator workload-availability/node-healthcheck-rhel8-operator Red Hat Node Maintenance Operator workload-availability/node-maintenance-rhel8-operatoraffected: workaround, no fix planned “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat OpenShift Developer Tools and Services helm Red Hat 3scale API Management Platform 2 3scale-amp26/3scale-operatoraffected: workaround, no fix available “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Advanced Cluster Security 3 advanced-cluster-security/rhacs-main-rhel8affected: workaround, no fix planned “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
show 19 moreshow fewer
-
Red Hat Certification for Red Hat Enterprise Linux 8 redhat-certification-preflight Red Hat Certification Program for Red Hat Enterprise Linux 9 redhat-certification-preflightaffected: workaround, no fix available “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Enterprise Linux 7 etcd Red Hat OpenShift Container Platform 3.11 apb, csi-attacher, csi-provisioner, atomic-openshift, csi-livenessprobe, atomic-openshift-pod, +37 moreaffected: workaround, no fix planned “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat OpenShift Container Platform 4 ose-cli, ose-etcd, ose-thanos, ose-console, ose-coredns, ose-telemeter, +69 more Red Hat OpenShift Container Platform Assisted Installer 1 rhai-tech-preview/assisted-installer-rhel8 Red Hat Openshift Container Storage 4 odf4/ocs-rhel9-operator Red Hat Openshift Data Foundation 4 odf4/odf-rhel8-operator Red Hat OpenShift distributed tracing 2 rhosdt/jaeger-rhel8-operator Red Hat OpenShift GitOps kam-delivery-rhel8affected: workaround, no fix available “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat OpenShift on AWS rosaaffected: workaround, no fix planned “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Openshift Sandboxed Containers openshift-sandboxed-containers/osc-rhel8-operatoraffected: workaround, no fix available “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat OpenStack Platform 18.0 etcd Red Hat Software Collections rh-git227-git-lfs Red Hat Storage 3 etcdaffected: workaround, no fix planned “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Self Node Remediation Operator workload-availability/self-node-remediation-rhel8-operatoraffected: workaround, no fix available “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.”
-
Red Hat Builds for Red Hat OpenShiftfixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHSA-2024:6221
-
Red Hat Builds for Red Hat OpenShift 1.1.1 openshift-buildsfixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHSA-2024:5013
-
Red Hat cert-manager operator for Red Hat OpenShift 1.15 cert-managerfixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHSA-2025:0536
-
Red Hat CNV 4.12 for RHEL 8 container-native-virtualization/virt-api v4.12.11-4, container-native-virtualization/virtio-win v4.12.11-1, container-native-virtualization/kubemacpool v4.12.11-2, container-native-virtualization/virt-handler v4.12.11-4, container-native-virtualization/bridge-marker v4.12.11-2, container-native-virtualization/virt-launcher v4.12.11-4, +37 morefixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHEA-2024:2635
-
Red Hat CNV 4.13 for RHEL 9 container-native-virtualization/kubemacpool-rhel9 v4.13.9-2, container-native-virtualization/virt-operator-rhel9 v4.13.9-7, container-native-virtualization/virt-cdi-cloner-rhel9 v4.13.9-7, container-native-virtualization/virt-exportproxy-rhel9 v4.13.9-7, container-native-virtualization/vm-console-proxy-rhel9 v4.13.9-2, container-native-virtualization/virt-cdi-importer-rhel9 v4.13.9-7, +10 morefixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHSA-2024:3315
-
Red Hat CNV 4.14 for RHEL 9 container-native-virtualization/virt-api-rhel9 v4.14.5-5, container-native-virtualization/pr-helper-rhel9 v4.14.5-5, container-native-virtualization/virtio-win-rhel9 v4.14.5-2, container-native-virtualization/kubemacpool-rhel9 v4.14.5-4, container-native-virtualization/mtq-operator-rhel9 v4.14.5-5, container-native-virtualization/virt-handler-rhel9 v4.14.5-5, +38 morefixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHSA-2024:2060
-
Red Hat CNV 4.15 for RHEL 9 container-native-virtualization/virt-api-rhel9 v4.15.2-9, container-native-virtualization/pr-helper-rhel9 v4.15.2-9, container-native-virtualization/virtio-win-rhel9 v4.15.2-2, container-native-virtualization/aaq-server-rhel9 v4.15.2-17, container-native-virtualization/kubemacpool-rhel9 v4.15.2-2, container-native-virtualization/mtq-operator-rhel9 v4.15.2-4, +44 morefixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHSA-2024:3314
-
Red Hat Cryostat 2 on RHEL 8 cryostat-tech-preview/cryostat-rhel8 2.4.0-4, cryostat-tech-preview/jfr-datasource-rhel8 2.4.0-4, cryostat-tech-preview/cryostat-reports-rhel8 2.4.0-4, cryostat-tech-preview/cryostat-rhel8-operator 2.4.0-9, cryostat-tech-preview/cryostat-operator-bundle 2.4.0-4, cryostat-tech-preview/cryostat-grafana-dashboard-rhel8 2.4.0-7fixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHSA-2024:2088
-
Red Hat LVMS 4.12 for RHEL 8 lvms4/topolvm-rhel8 v4.12.6-3, lvms4/lvms-rhel8-operator v4.12.6-3, lvms4/lvms-operator-bundle v4.12.6-3, lvms4/lvms-must-gather-rhel8 v4.12.6-2fixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHBA-2024:2649
-
Red Hat LVMS 4.13 for RHEL 8 lvms4/topolvm-rhel8 v4.13.6-2, lvms4/lvms-rhel8-operator v4.13.6-3, lvms4/lvms-operator-bundle v4.13.6-3, lvms4/lvms-must-gather-rhel8 v4.13.6-2fixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHBA-2024:2648
-
Red Hat LVMS 4.14 for RHEL 9 lvms4/topolvm-rhel9 v4.14.5-3, lvms4/lvms-rhel9-operator v4.14.5-3, lvms4/lvms-operator-bundle v4.14.5-3, lvms4/lvms-must-gather-rhel9 v4.14.5-2fixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHBA-2024:2646
-
Red Hat LVMS 4.15 for RHEL 9 lvms4/topolvm-rhel9 v4.15.3-7, lvms4/lvms-rhel9-operator v4.15.3-6, lvms4/lvms-operator-bundle v4.15.3-9, lvms4/lvms-must-gather-rhel9 v4.15.3-4fixed: vendor fix “In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.” RHBA-2024:2647
57 more fixed, 26 more not affected in the full advisory
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
- 2 y ago
Exploit prediction
89.45% chance of exploitation in the next 30 days, higher than 99.7% 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 |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | net/http | <1.21.9 >=1.22.0-0, <1.22.2 |
1.21.9 1.22.2 |
| go | golang.org/x/net/http2 | <0.23.0 |
0.23.0 |
| go | golang.org/x/net | <0.23.0 |
0.23.0 |
| bitnami | golang | <1.21.9 >=1.22.0-0, <1.22.2 |
1.21.9 1.22.2 |
| go | stdlib | <1.21.9 >=1.22.0-0, <1.22.2 |
1.21.9 1.22.2 |
Affected products
- Go standard library net/http
- golang.org/x/net golang.org/x/net/http2
- go_standard_library net\/http
- golang http2
Classification
- Weakness
-
- CWE-400 Uncontrolled Resource Consumption
References
-
go.dev
/cl/576155
web, patch
-
go.dev
/issue/65051
web, report
-
groups.google.com
/g/golang-announce/c/YgW0sx8mN3M
web
-
pkg.go.dev
/vuln/GO-2024-2687
web
-
security.netapp.com
/advisory/ntap-20240419-0009/
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/QRYFHIQ6XRKRYBI2F5UESH67BJBQXUPT/
web
-
openwall.com
/lists/oss-security/2024/04/05/4
web
-
openwall.com
/lists/oss-security/2024/04/03/16
web
-
kb.cert.org
/vuls/id/421644
web
-
nvd.nist.gov
/vuln/detail/CVE-2023-45288
advisory, web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/QRYFHIQ6XRKRYBI2F5UESH67BJBQXUPT
web
-
nowotarski.info
/http2-continuation-flood-technical-details
web
-
security.netapp.com
/advisory/ntap-20240419-0009
web
Sources
- CVE List CVE-2023-45288
- GitHub Advisory GHSA-4v7x-pqxf-cx7m
- NVD CVE-2023-45288
- OSV BIT-golang-2023-45288
- OSV GO-2024-2687
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.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.