Vulnerability in Golang.org/x/net Golang.org/x/net/http2

CVE-2023-45288

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.

EPSS: 0.920 (99.8th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.

Affected products

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2023-45288?
CVE-2023-45288 is a high-severity vulnerability in Golang.org/x/net Golang.org/x/net/http2, classified under CWE-400: UNCONTROLLED RESOURCE CONSUMPTION. CVSS score: 7.5/10. Published 2024-04-04.
How severe is CVE-2023-45288?
High severity. CVSS v3 base score is 7.5 out of 10.
Is CVE-2023-45288 known to be exploited?
23 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.