Lucene search

K
githubGitHub Advisory DatabaseGHSA-4V7X-PQXF-CX7M
HistoryApr 04, 2024 - 9:30 p.m.

net/http, x/net/http2: close connections when receiving too many headers

2024-04-0421:30:32
CWE-400
GitHub Advisory Database
github.com
18
http/2
endpoint
close
connections
excessive headers
attacker
hpack
parsing
processing
continuation frames
maxheaderbytes
memory allocation
huffman-encoded data
receiver
decode
limit
fix
software

7.1 High

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

12.9%

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.