CVE-2023-24534: Excessive memory allocation in net/http and net/textproto
Excessive memory allocation in net/http and net/textproto
Other sources
Golang Go is vulnerable to a denial of service, caused by an memory exhaustion in the common function in HTTP and MIME header parsing. By sending a specially crafted request, a remote attacker could exploit this vulnerability to cause a denial of service.
— IBM
HTTP and MIME header parsing can allocate large amounts of memory, even when parsing small inputs, potentially leading to a denial of service. Certain unusual patterns of input data can cause the common function used to parse HTTP and MIME headers to allocate substantially more memory than required to hold the parsed headers. An attacker can exploit this behavior to cause an HTTP server to allocate large amounts of memory from a small request, potentially leading to memory exhaustion and a denial of service. With fix, header parsing now correctly allocates only the memory required to hold parsed headers.
— Launchpad
HTTP and MIME header parsing could allocate large amounts of memory, even when parsing small inputs.
References:
https://github.com/golang/go/issues/58975 https://github.com/golang/go/issues/59268
— Red Hat
Affected Software
Remediation
Patch Available
Patch Available
Event History
Frequently Asked Questions
What is CVE-2023-24534?
CVE-2023-24534 is a vulnerability related to HTTP and MIME header parsing, which can lead to a denial of service due to memory allocation issues.
What is the severity of CVE-2023-24534?
The severity of CVE-2023-24534 is high with a severity value of 7.5.
What software is affected by CVE-2023-24534?
The affected software includes golang versions up to and excluding 1.19.8 and 1.20.3.
How can CVE-2023-24534 be fixed?
To fix CVE-2023-24534, it is recommended to update the affected golang packages to versions 1.19.8 or 1.20.3, depending on the current installed version.
Are there any references related to CVE-2023-24534?
Yes, you can find more information about CVE-2023-24534 at the following references: [Reference 1](https://go.dev/cl/481994), [Reference 2](https://go.dev/issue/58975), [Reference 3](https://groups.google.com/g/golang-announce/c/Xdv6JL9ENs8).