Information zur Schwachstelle "HTTP/2 Bomb" wurde veröffentlicht, die verschiedene Implementierungen des HTTP/2-Protokolls betrifft und einen Denial-of-Service-Angriff durch Erschöpfung des gesamten verfügbaren Speichers des Prozesses ermöglicht. Das Problem wurde in den HTTP-Servern nginx, Apache httpd (CVE-2026-49975), Microsoft IIS, Envoy (CVE-2026-47774) und Cloudflare Pingora in der Standardkonfiguration bestätigt.
Die Schwachstelle verwendet eine Methode, die einer Zip-Bombe ähnelt, die für die Funktionalität der Header-Kompression in HTTP/2 angewendet wird. Die Idee ist, dass die Anfrage Tausende von komprimierten Headern, wie "Cookie", ohne angehängte Daten enthalten kann, von denen jeder in der Anfrage durch einen einbyteigen Verweis im HPACK-Index dargestellt wird, aber Server eine vollständige Zuweisung von Speicher für den gesamten Header erfordert. Der Speicherverbrauch in verschiedenen HTTP-Servern variiert von etwa 70 Byte pro Byte im Index für nginx, IIS und Pingora bis zu 4000 Byte in Apache httpd und 5700 in Envoy. Bei einem Angriff von einem Verbraucher-PC mit einer 100-Mbps-Verbindung sind für die Erschöpfung von 32 GB Speicher etwa 10 Sekunden bei einem Angriff auf Server Envoy 1.37.2, 18 Sekunden bei Apache httpd 2.4.67 und 45 Sekunden bei nginx 1.29.7 erforderlich.
Um die Schwachstelle zu blockieren, wurde in der Version nginx 1.29.8 die max_headers-Direktive aus dem Freenginx-Projekt übernommen, die standardmäßig die Verarbeitung von nicht mehr als 1000 Headern erlaubt. In Envoy ist die Korrektur
in den Versionen 1.35.11 und 1.36.7 enthalten, in denen die Limits mutable_max_request_headers_kb und max_headers_count implementiert wurden. In Apache httpd wurde die Korrektur in der Version des Moduls mod_http2 2.0.41 vorgeschlagen, die noch nicht in die Apache httpd-Releases aufgenommen wurde. Für
Microsoft IIS und Cloudflare Pingora liegen derzeit keine Korrekturen vor.
Als Umgehungsschutz kann das HTTP/2-Protokoll deaktiviert und eine Begrenzung der für die Arbeitsprozesse verfügbaren Speichergröße festgelegt werden.
Quelle: opennet.ru
