Lucene search

K
osvGoogleOSV:BIT-GOLANG-2023-45288
HistoryApr 06, 2024 - 6:19 p.m.

BIT-golang-2023-45288

2024-04-0618:19:39
Google
osv.dev
8
http/2
header data
excessive frames
memory allocation
connection closure
huffman encoding

6.4 Medium

AI Score

Confidence

Low

0.0004 Low

EPSS

Percentile

13.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.

CPENameOperatorVersion
golangge1.22.0-0
golanglt1.21.9
golanglt1.22.2