CVE-2021-44716: High severity Golang Go vulnerability
An attacker can cause unbounded memory growth in a Go server accepting HTTP/2 requests.
Reference: https://github.com/golang/go/issues/50058
Other sources
net/http in Go before 1.16.12 and 1.17.x before 1.17.5 allows uncontrolled memory consumption in the header canonicalization cache via HTTP/2 requests.
There's an uncontrolled resource consumption flaw in golang's net/http library in the canonicalHeader() function. An attacker who submits specially crafted requests to applications linked with net/http's http2 functionality could cause excessive resource consumption that could lead to a denial of service or otherwise impact to system performance and resources.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
redhat/openshift-serverless-clientsto a version that resolves this vulnerability.Fixed in 0:1.0.0-2.el8 - Upgrade
Upgrade
redhat/go-toolsetto a version that resolves this vulnerability.Fixed in 1.16-0:1.16.12-1.el7_9 - Upgrade
Upgrade
redhat/go-toolsetto a version that resolves this vulnerability.Fixed in 1.16-golang-0:1.16.12-1.el7_9 - Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 0:7.5.9-5.el8_5 - Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 0:7.3.6-4.el8_4 - Upgrade
Upgrade
redhat/etcdto a version that resolves this vulnerability.Fixed in 0:3.3.23-9.el7 - Upgrade
Upgrade
redhat/grafanato a version that resolves this vulnerability.Fixed in 0:5.2.4-5.el7 - Upgrade
Upgrade
redhat/cri-oto a version that resolves this vulnerability.Fixed in 0:1.23.0-92.rhaos4.10.gitdaab4d1.el7 - Upgrade
Upgrade
redhat/openshiftto a version that resolves this vulnerability.Fixed in 0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el7 - Upgrade
Upgrade
redhat/containernetworking-pluginsto a version that resolves this vulnerability.Fixed in 0:0.9.1-2.rhaos4.10.el8 - Upgrade
Upgrade
redhat/butaneto a version that resolves this vulnerability.Fixed in 0:0.13.1-2.rhaos4.9.el8 - Upgrade
Upgrade
redhat/ignitionto a version that resolves this vulnerability.Fixed in 0:2.12.0-3.rhaos4.9.el8 - Upgrade
Upgrade
redhat/mcgto a version that resolves this vulnerability.Fixed in 0:5.10.0-72.el8 - Upgrade
Upgrade
redhat/etcdto a version that resolves this vulnerability.Fixed in 0:3.3.23-7.el8 - Upgrade
Upgrade
redhat/kubevirtto a version that resolves this vulnerability.Fixed in 0:4.12.0-1057.el7 - Upgrade
Upgrade
redhat/kubevirtto a version that resolves this vulnerability.Fixed in 0:4.12.0-1057.el8 - Upgrade
Upgrade
redhat/Goto a version that resolves this vulnerability.Fixed in 1.17.5 - Upgrade
Upgrade
redhat/Goto a version that resolves this vulnerability.Fixed in 1.16.12 - Upgrade
Upgrade
Go net/httpto a version that resolves this vulnerability.Fixed in 1.16.12 - Upgrade
Upgrade
Go net/httpto a version that resolves this vulnerability.Fixed in 1.17.5 - Configuration
Set GODEBUG=http2server=0 before calling Serve to disable HTTP/2, unless HTTP/2 was manually configured through the golang.org/x/net/http2 package.
Go net/http HTTP/2 server GODEBUG=http2server = 0
Event History
Parent advisories
This vulnerability appears in the following advisories.
- RHSA-2022:0163
- RHSA-2022:1051
- RHSA-2022:1056
- RHSA-2022:0855
- RHSA-2021:5176
- RHSA-2021:5160
- RHSA-2022:0001
- RHSA-2022:0002
- RHSA-2022:1628
- RHSA-2022:1734
- RHSA-2022:0055
- RHSA-2022:0056
- RHSA-2022:0927
- RHSA-2022:0557
- RHSA-2022:1361
- RHSA-2022:1372
- RHSA-2022:0260
- RHSA-2022:0237
- RHSA-2022:0842
- RHSA-2023:0407
- RHSA-2022:0947
- RHSA-2022:6526
- RHSA-2023:0408
- RHEA-2022:1596
- RHSA-2022:0587
- RHSA-2022:0585
- IBM-7183851
Frequently Asked Questions
What is CVE-2021-44716?
CVE-2021-44716 is a vulnerability in the net/http library in Go before 1.16.12 and 1.17.x before 1.17.5.
What is the severity of CVE-2021-44716?
CVE-2021-44716 has a severity score of 7.5 (high).
How can I exploit CVE-2021-44716?
CVE-2021-44716 can be exploited by submitting specially crafted requests to applications linked with net/http's http2 functionality.
How can I fix CVE-2021-44716?
To fix CVE-2021-44716, update your Go installation to version 1.16.12 or 1.17.5, depending on the version you are using.
Where can I find more information about CVE-2021-44716?
You can find more information about CVE-2021-44716 in the references provided: [link 1](https://github.com/golang/go/issues/50058), [link 2](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2030802), [link 3](https://bugzilla.redhat.com/show_bug.cgi/show_bug.cgi?id=2030804).