CVE-2024-24791 json
Denial of service due to improper 100-continue handling in net/http
published 2y ago modified 4mo ago also BIT-golang-2024-24791 , EUVD-2024-22168 , GO-2024-2963
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.4%
- EPSS 1.4% chance of exploitation in 30 days, percentile 73%
- public exploits
- 0
- none known
Summary
The net/http HTTP/1.1 client mishandled the case where a server responds to a request with an "Expect: 100-continue" header with a non-informational (200 or higher) status. This mishandling could leave a client connection in an invalid state, where the next request sent on the connection will fail. An attacker sending a request to a net/http/httputil.ReverseProxy proxy can exploit this mishandling to cause a denial of service by sending "Expect: 100-continue" requests which elicit a non-informational response from the backend. Each such request leaves the proxy with an invalid connection, and causes one subsequent request using that connection to fail.
Patch / fix
- bitnami golang 1.21.12, 1.22.5
- go stdlib 1.21.12, 1.22.5
- Go standard library net/http 1.21.12, 1.22.5
- go_standard_library net\/http 1.21.12, 1.22.5
- 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.22 Ubuntu 20.04 LTS 1.22.2-2~20.04.2
- golang-1.22 Ubuntu 22.04 LTS 1.22.2-2~22.04.2
- golang-1.22 Ubuntu 24.04 LTS 1.22.2-2ubuntu0.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-2024-24791
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
- git-lfs RHEL 9 3.6.1-1.el9
- toolbox RHEL 9 0.0.99.5-5.el9
- toolbox-tests RHEL 9 0.0.99.5-5.el9
- grafana RHEL 9 10.2.6-4.el9
- grafana-selinux RHEL 9 10.2.6-4.el9
- podman RHEL 9 2:5.2.2-1.el9
- podman-tests RHEL 9 2:5.2.2-1.el9
- podman-docker RHEL 9 2:5.2.2-1.el9
red hat advisories RHSA-2025:7256RHSA-2024:10133RHSA-2024:9135RHSA-2024:9115RHSA-2024:9102RHSA-2024:9098
- go1.22-openssl SLE Module for Development Tools 15 SP6, openSUSE Leap 15.6 1.22.7.1-150600.13.3.1
- go1.22-openssl SLE Module for Development Tools 15 SP5, openSUSE Leap 15.5 1.22.7.1-150000.1.3.1
- go1.21-openssl SLE Module for Development Tools 15 SP6, openSUSE Leap 15.6 1.21.13.1-150600.16.3.1
- container-suseconnect SLES for SAP 15 SP4, SLES for SAP 15 SP3, SLES for SAP 15 SP2 +10 more 2.5.0-150000.4.55.1
- go1.21-openssl SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Module for Development Tools 15 SP5 +3 more 1.21.13.1-150000.1.11.1
- go1.22 SLE Module for Development Tools 15 SP6, SLE Module for Development Tools 15 SP5, openSUSE Leap 15.6 +1 more 1.22.5-150000.1.21.1
- go1.21 SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Module for Development Tools 15 SP6 +5 more 1.21.12-150000.1.39.1
- go1.22 SLE Software Development Kit 12 SP5 1.22.5-1.15.1
suse advisories SUSE-SU-2024:3938-1SUSE-SU-2024:3772-1SUSE-SU-2024:3755-1SUSE-SU-2024:3360-1SUSE-SU-2024:3089-1SUSE-SU-2024:2309-1
- istioctl openSUSE Tumbleweed 1.22.3-1.1
- forgejo openSUSE Tumbleweed 7.0.5-1.1
- go1.22 openSUSE Tumbleweed 1.22.5-1.1
- go1.21 openSUSE Tumbleweed 1.21.12-1.1
opensuse advisories openSUSE-SU-2024:14198-1openSUSE-SU-2024:14107-1openSUSE-SU-2024:14098-1openSUSE-SU-2024:14091-1
- git-lfs AlmaLinux 9 3.6.1-1.el9
- containernetworking-plugins AlmaLinux 9 1:1.5.1-2.el9
- buildah AlmaLinux 9 2:1.37.2-1.el9
- buildah-tests AlmaLinux 9 2:1.37.2-1.el9
- skopeo AlmaLinux 9 2:1.16.1-1.el9
- skopeo-tests AlmaLinux 9 2:1.16.1-1.el9
- grafana AlmaLinux 9 10.2.6-4.el9
- grafana-selinux AlmaLinux 9 10.2.6-4.el9
almalinux advisories ALSA-2025:7256ALSA-2024:9089ALSA-2024:9097ALSA-2024:9098ALSA-2024:9115ALSA-2024:9135
- git-lfs Rocky Linux 9 3.6.1-1.el9
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1815+5fe7415e
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1825+623b0c20
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1843+6892ab28
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1872+2e18eb19
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1874+ce489889
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1880+8e896d1b
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1896+b18fa106
rocky linux advisories RLSA-2025:7256RLSA-2024:6969RLSA-2024:9102RLSA-2024:9135RLSA-2024:7349RLSA-2024:6913
- go Alpine 3.24, Alpine 3.23, Alpine 3.22 +2 more 1.22.5-r0
alpine advisories ALPINE-CVE-2024-24791
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- go.dev/cl/591255 patch
Is CVE-2024-24791 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-24791 updated cvss 5.9
net/http: Denial of service due to improper 100-continue handling in net/http
-
Red Hat Builds for Red Hat OpenShift openshift-builds/openshift-builds-waiters-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat Cost Management Metrics Operator costmanagement/costmanagement-metrics-rhel8-operatoraffected: workaround, no fix available
-
Red Hat Fence Agents Remediation Operator workload-availability/fence-agents-remediation-rhel8-operator Red Hat Logical Volume Manager Storage lvms4/topolvm-rhel9 Red Hat Machine Deletion Remediation Operator workload-availability/machine-deletion-remediation-rhel8-operator Red Hat Migration Toolkit for Applications 6 mta/mta-hub-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat Migration Toolkit for Virtualization migration-toolkit-virtualization/mtv-api-rhel9affected: workaround, no fix available “Fix deferred”
-
Red Hat Multicluster Engine for Kubernetes multicluster-engine/hive-rhel8affected: workaround, no fix available
-
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 “Will not fix”
-
Red Hat OpenShift Developer Tools and Services helmaffected: workaround, no fix available
-
Red Hat OpenShift Pipelines openshift-pipelines-client Red Hat OpenShift Serverless openshift-serverless-clients, openshift-serverless-1/client-kn-rhel8affected: workaround, no fix planned “Will not fix”
show 20 moreshow fewer
-
Red Hat Power monitoring for Red Hat OpenShift kepler-containeraffected: workaround, no fix available
-
Red Hat 3scale API Management Platform 2 3scale-amp2/3scale-rhel7-operator Red Hat Advanced Cluster Security 3 advanced-cluster-security/rhacs-main-rhel8 Red Hat Advanced Cluster Security 4 advanced-cluster-security/rhacs-main-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat Ansible Automation Platform 2 receptor, aap-cloud-ui-containeraffected: workaround, no fix available
-
Red Hat Ceph Storage 5 rhceph/rhceph-5-dashboard-rhel8affected: workaround, no fix planned “Out of support scope”
-
Red Hat Ceph Storage 6 rhceph/rhceph-6-dashboard-rhel9affected: workaround, no fix planned “Will not fix”
-
Red Hat Connectivity Link 1 rhcl-1/dns-operator-containeraffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 8 git-lfs, weldr-client, osbuild-composer, osbuild-composer-core, osbuild-composer-worker, osbuild-composer-dnf-jsonaffected: workaround, no fix planned “Will not fix”
-
Red Hat Enterprise Linux 9 butane, ignition, weldr-client, ignition-edge, ignition-grub, osbuild-composer, +4 more Red Hat Enterprise Linux 10 delve, butane, golang, podman, skopeo, buildah, +5 moreaffected: workaround, no fix available, no fix planned “Will not fix”
-
Red Hat OpenShift AI (RHOAI) odh-operator-container Red Hat OpenShift Container Platform 4 prometheus-promu, openshift-prometheus-promu, golang-github-prometheus-promu Red Hat OpenShift Container Platform Assisted Installer 1 rhai-tech-preview/assisted-installer-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat OpenShift Data Science (RHODS) rhods/odh-rhel8-operatoraffected: workaround, no fix available
-
Red Hat OpenShift Dev Spaces devspaces/udi-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat OpenShift distributed tracing 3 rhosdt/tempo-rhel8affected: workaround, no fix available
-
Red Hat OpenShift GitOps openshift-gitops-1/gitops-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat Openshift Sandboxed Containers openshift-sandboxed-containers/osc-rhel8-operator Red Hat OpenShift Virtualization 4 kubevirtaffected: workaround, no fix available
-
Red Hat OpenStack Platform 16.2 etcd, rhosp-rhel8/osp-director-agent, golang-github-infrawatch-apputilsaffected: workaround, no fix planned “Will not fix”
-
Red Hat OpenStack Platform 17.1 etcd, golang-github-infrawatch-apputilsaffected: workaround, no fix available, no fix planned “Will not fix”
-
Red Hat OpenStack Platform 18.0 etcdaffected: workaround, no fix planned “Will not fix”
-
Red Hat Satellite 6 yggdrasil-worker-forwarderaffected: workaround, no fix available
-
Red Hat Service Interconnect 1 skupper-cli skupper-cliaffected: workaround, no fix available “Fix deferred”
-
Red Hat Storage 3 golang, heketi, golang-bin, golang-src, golang-misc, golang-tests, +2 moreaffected: workaround, no fix planned “Out of support scope”
3 more affected, 32 more fixed, 18 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
- 2y ago
Exploit prediction
1.41% chance of exploitation in the next 30 days, higher than 73% of all scored CVEs (FIRST EPSS, 2026-11-11).
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 |
| 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 |
|---|---|---|---|
| bitnami | golang | <1.21.12 >=1.22.0-0, <1.22.5 |
1.21.12 1.22.5 |
| go | stdlib | <1.21.12 >=1.22.0-0, <1.22.5 |
1.21.12 1.22.5 |
Affected products
- Go standard library net/http
- go_standard_library net\/http
References
Sources
- CVE List CVE-2024-24791
- NVD CVE-2024-24791
- OSV BIT-golang-2024-24791
- OSV GO-2024-2963
Fencer Intel 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.