HTTP 2 Bomb DoS Schwachstelle (Bild © Calif)
Die Schwachstelle ist weit verbreitet und wirkt sich auf Software von Anbietern aus, die zusammen mehr als 80 Prozent des Markts halten. Zu den identifizierten betroffenen Systemen gehören Nginx, Apache HTTPD, Microsoft IIS, Envoy und Cloudflare Pingora, insbesondere solche, die die Standardkonfiguration von HTTP/2 verwenden.
Der Angriff zielt auf den HPack-Mechanismus (CVE-2016-6581) , der für die Header-Kompression im HTTP/2-Protokoll verwendet wird. Im Normalbetrieb reduziert HPack die Bandbreite, indem es eine dynamische Tabelle der zuletzt verwendeten Header führt. Ein Angreifer kann dies ausnutzen, indem er ein einzelnes Byte sendet, das auf einen großen, bereits in der Tabelle gespeicherten Header verweist. Dadurch wird der Server gezwungen, dieses Byte wiederholt zu einer vollständigen Header-Zuweisung zu erweitern, wodurch ein massiver Verstärkungseffekt im Speicher des Servers entsteht.
Um sicherzustellen, dass der Speicher voll bleibt, setzt der Angreifer ein Null-Byte-Flusskontrollfenster in Kombination mit wiederholten 1-Byte-Fensteraktualisierungsrahmen ein. Durch dieses technische Manöver wird der Server daran gehindert, die Antwort erfolgreich zu übermitteln, so dass die erweiterten Daten im Speicherpuffer so lange festgehalten werden, wie die Verbindung offen bleibt.
Die von den Calif-Forschern durchgeführten Tests ergaben, dass die verschiedenen Plattformen unterschiedlich stark anfällig sind. Envoy wies mit einem Datenexpansionsverhältnis von 5.700:1 die höchste Anfälligkeit auf, was es einem Angreifer ermöglichte, 32 GB Speicher in etwa 10 Sekunden zu füllen. Apache HTTPD folgte mit einem Verhältnis von 4.000:1. Andere Server wiesen niedrigere, aber immer noch kritische Verhältnisse auf: Nginx mit 70:1, Microsoft IIS mit 68:1 und Cloudflare Pingora mit 62:1. Im Fall von Nginx konnten dieselben 32 GB Speicher in etwa 45 Sekunden aufgebraucht werden.
Die Reaktionen der Software-Anbieter waren unterschiedlich. Nginx, Apache HTTPD und Envoy haben bereits Sicherheitsupdates veröffentlicht, um die Schwachstelle zu beheben. Für Microsoft IIS und Cloudflare Pingora gibt es jedoch noch keine Patches.
Administratoren, die ungepatchte Software verwenden, wird empfohlen, HTTP/2 entweder vollständig zu deaktivieren oder ein Frontend-System einzusetzen, das die maximale Anzahl der pro Anfrage zulässigen Header begrenzt. Die Forscher stellten fest, dass die zugrundeliegenden Fehler bereits seit fast einem Jahrzehnt existieren, aber erst kürzlich durch KI-gesteuerte Quellcode-Analyse zu diesem spezifischen Angriffsvektor zusammengefasst wurden.
