Forscher haben eine neue Schwachstelle im HTTP/2-Protokoll entdeckt, die Denial-of-Service (DoS)-Attacken ermöglicht. Die Anfälligkeit, bekannt unter dem Namen HTTP/2 CONTINUATION Flood, wurde von dem Sicherheitsforscher Bartek Nowotarski am 25. Januar 2024 an das CERT Coordination Center (CERT/CC) gemeldet.
Laut CERT/CC begrenzen oder bereinigen viele HTTP/2-Implementierungen nicht richtig die Anzahl der CONTINUATION-Frames in einem einzelnen Stream. Angreifer könnten eine Folge von CONTINUATION-Frames an einen Zielserver senden, die entweder im Speicher nicht an die Headerliste angehängt, aber dennoch vom Server verarbeitet werden, oder zu einem Speicherüberlauf führen und einen Absturz des Systems verursachen.
Im Gegensatz zu HTTP/1 verwendet HTTP/2 Headerfelder in Anfragen und Antworten, die in Headerlisten zusammengefasst und in Blockfragmente aufgeteilt werden, die innerhalb von HEADER- oder CONTINUATION-Frames übertragen werden. Die Schwachstelle besteht in der fehlerhaften Handhabung von HEADERS und mehreren CONTINUATION-Frames, die zu einem DoS-Zustand führen können.
Nowotarski zufolge stellt CONTINUATION Flood eine ernstere Bedrohung dar als der im Oktober 2023 bekannt gewordene Rapid Reset-Angriff. Ein Angreifer könnte eine neue HTTP/2-Stream gegen einen Server mit einer anfälligen Implementierung starten und HEADERS und CONTINUATION-Frames ohne gesetztes END_HEADERS-Flag senden, was zu einem endlosen Strom von Headern führt, die der HTTP/2-Server analysieren und im Speicher speichern muss.
Die Folgen variieren je nach Implementierung und reichen von sofortigen Abstürzen bis hin zu Speicherüberläufen und CPU-Erschöpfung, was die Verfügbarkeit des Servers beeinträchtigt.
Betroffen sind mehrere Projekte wie amphp/http (CVE-2024-2653), Apache HTTP Server (CVE-2024-27316), Apache Tomcat (CVE-2024-24549), Apache Traffic Server (CVE-2024-31309), Envoy Proxy (CVE-2024-27919 und CVE-2024-30255), Golang (CVE-2023-45288), die h2 Rust-Kiste, nghttp2 (CVE-2024-28182), Node.js (CVE-2024-27983) und Tempesta FW (CVE-2024-2758).
Anwender werden dringend empfohlen, betroffene Software auf die neueste Version zu aktualisieren, um potenzielle Bedrohungen zu mindern. In Ermangelung einer Lösung wird geraten, HTTP/2 auf dem Server vorübergehend zu deaktivieren.