Katalog CVE

CVE-2023-45288

WysokieCVSS 7.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

Atakujący może spowodować, że punkt końcowy HTTP/2 odczyta dowolną ilość danych nagłówka, wysyłając nadmierną liczbę ramek CONTINUATION. Utrzymanie stanu HPACK wymaga parsowania i przetwarzania wszystkich ramek HEADERS i CONTINUATION na połączeniu; gdy nagłówki żądania przekraczają MaxHeaderBytes, pamięć nie jest alokowana na nadmiarowe nagłówki, ale są one nadal parsowane. Pozwala to atakującemu na zmuszenie punktu końcowego HTTP/2 do odczytu dowolnej ilości danych nagłówka, w tym danych kodowanych Huffmanem, których dekodowanie jest znacznie droższe dla odbiorcy niż wysłanie dla atakującego. Poprawka ustanawia limit nadmiarowych ramek nagłówka przetwarzanych przed zamknięciem połączenia.

Ocena ryzyka

Atakujący może wywołać atak typu denial of service (DoS) poprzez wyczerpanie zasobów CPU i pamięci serwera HTTP/2. Ryzyko dotyczy wszystkich usług wystawionych na działanie niezaufanych klientów HTTP/2.

Rekomendacja

Zaktualizuj oprogramowanie serwera HTTP/2 (np. biblioteki Go, serwery obsługujące HTTP/2) do wersji zawierającej poprawkę. Rozważ ograniczenie maksymalnego rozmiaru nagłówków i liczby ramek CONTINUATION na połączenie.

Inne podatności w HTTP/2

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS