CVE-2021-44716: Unbounded memory growth in net/http and golang.org/x/net/http2
Summary
CVE-2021-44716: Unbounded memory growth in net/http and golang.org/x/net/http2. Affects stdlib across 2 version ranges.
< 1.16.12
>= 1.17.0-0, < 1.17.5
Fixed in 1.16.12 or 1.17.5, depending on the release line you run. How to fix ↓
Also tracked for
- golang · Bitnami
- golang.org/x/net/http2 · Go
- golang-1.15 · Debian:11
The same CVE-2021-44716 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The impacted packages are 'stdlib' and 'golang.org/x/net' in the Go ecosystem. The 'stdlib' package is the standard library for the Go programming language, providing fundamental functionality for various tasks. The 'golang.org/x/net' package is an extension to the standard library, offering additional networking capabilities. Both packages are vulnerable to unbounded memory growth when handling HTTP/2 requests.
Vulnerability Detail
The vulnerability allows an attacker to cause unbounded memory growth in servers that accept HTTP/2 requests. This can lead to memory exhaustion and potentially result in denial-of-service attacks. The issue originates from the 'http2serverConn.canonicalHeader' symbol in the 'net/http' package and the 'Server.ServeConn' and 'serverConn.canonicalHeader' symbols in the 'golang.org/x/net/http2' package.
How To Fix
Latest published version: go1.25.5 as of 22 Oct 2026
go get stdlib@vgo1.25.5
Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.
If you can't move to the latest
The minimum fixed version depends on the release line you run.
-
< 1.16.121.16.12go get stdlib@v1.16.12 -
>= 1.17.0-0, < 1.17.51.17.5go get stdlib@v1.17.5
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
There is no specific workaround mentioned for this vulnerability.
Conclusion
In conclusion, the 'stdlib' and 'golang.org/x/net' packages in the Go ecosystem are vulnerable to unbounded memory growth when handling HTTP/2 requests. It is crucial to update to the fixed versions mentioned earlier to mitigate this vulnerability. For further support on vulnerability remediation, you can reach out to DevNack.com.
See every vulnerability recorded for stdlib →
FAQ
The vulnerability can result in unbounded memory growth, leading to memory exhaustion and potential denial-of-service attacks.
The 'stdlib' package (standard library) and the 'golang.org/x/net' package are both affected.
There are no known exploits available at the moment.
You can use Vulert's playground (https://vulert.com/scanner) to check if your application is affected by this vulnerability. Simply upload your Gopkg.lock file and it will provide real-time alerts for open-source vulnerabilities.
You can refer to the Open Source Vulnerability database for more details: https://pkg.go.dev/vuln/GO-2022-0288
References
Related vulnerabilities
Recent vulnerabilities recorded for stdlib.