[GO-2024-2687] HTTP/2 CONTINUATION flood in net/http

Severity High
Affected Packages 3
Fixed Packages 3
CVEs 1

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.

Package Affected Version
pkg:golang/net/http >= 1.22.1, < 1.21.9
pkg:golang/net/http >= 1.22.1, < 1.22.2
pkg:golang/golang.org/x/net/http2 >= 0.22.0, < 0.23.0
Package Fixed Version
pkg:golang/net/http = 1.21.9
pkg:golang/net/http = 1.22.2
pkg:golang/golang.org/x/net/http2 = 0.23.0
Source # ID Name URL
Security Advisory https://github.com/advisories/GHSA-4v7x-pqxf-cx7m
Type Package URL Namespace Name / Product Version Distribution / Platform Arch Patch / Fix
Fixed pkg:golang/net/http net http = 1.21.9
Affected pkg:golang/net/http net http >= 1.22.1 < 1.21.9
Fixed pkg:golang/net/http net http = 1.22.2
Affected pkg:golang/net/http net http >= 1.22.1 < 1.22.2
Fixed pkg:golang/golang.org/x/net/http2 golang.org/x/net http2 = 0.23.0
Affected pkg:golang/golang.org/x/net/http2 golang.org/x/net http2 >= 0.22.0 < 0.23.0
# CVE Description CVSS EPSS EPSS Trend (30 days) Affected Products Weaknesses Security Advisories Exploits PoC Pubblication Date Modification Date
# CVE Description CVSS EPSS EPSS Trend (30 days) Affected Products Weaknesses Security Advisories PoC Pubblication Date Modification Date
Loading...