Skip to main content

HTTP/2-CONTINUATION-Frames für DoS-Angriffe ausnutzen

blog feature pypi spoof

8. April 2024

0 Min. Lesezeit

Über die Sicherheitslücke

Die Sicherheitslücke liegt darin, wie HTTP/2-Implementierungen CONTINUATION-Frames verarbeiten. Diese werden verwendet, um Header-Blöcke zu übertragen, die größer als die maximale Frame-Größe sind. Angreifer nutzen diese Schwachstelle aus, indem sie innerhalb eines einzelnen HTTP/2-Streams übermäßig viele CONTINUATION-Frames senden. Diese Flut von Frames überlastet die Kapazität des Servers, sie effizient zu verarbeiten.

Wie schwerwiegend diese Sicherheitslücke ist, hob Bartek Nowotarski hervor. Seinen Angaben zufolge stellt sie eine größere Bedrohung dar als frühere Vorfälle wie der „HTTP/2 Rapid Reset“-Angriff. Darüber hinaus wird die Sicherheitslücke seit August 2023 aktiv ausgenutzt.

Besonders besorgniserregend ist, dass dieser Angriff Webserver mit nur einer einzigen TCP-Verbindung oder sogar mit nur wenigen Frames zum Absturz bringen kann. Betroffene Server können dadurch erhebliche Leistungseinbußen erleiden oder vollständig nicht mehr verfügbar sein.

Diese Sicherheitslücke betrifft zahlreiche Anbieter und HTTP/2-Bibliotheken, darunter Red Hat, SUSE Linux, Arista Networks, das Apache HTTP Server Project, nghttp2, Node.js, AMPHP und die Programmiersprache Go.

Betroffene Versionen

Projekt

Betroffene Versionen

CVE-ID

amphp/http

>= 2.0.0 && <= 2.1.0, <= 1.7.2

CVE-2024-2653

Apache HTTP Server (httpd)

2.4.17-2.4.58

CVE-2024-27316

Apache Tomcat

<=11.0.0-M16, <=10.1.18, <=9.0.85, 8.5.0-8.5.98

CVE-2024-24549

Apache Traffic Server

8.0.0-8.1.9, 9.0.0-9.2.3

CVE-2024-31309

Envoy proxy (oghttp)

1.29.0, 1.29.1

CVE-2024-27919

Envoy proxy (nghttp2)

<=1.29.2

CVE-2024-30255

Golang

<=1.20, <=1.21.8, <=1.22.1

CVE-2023-45288**

nghttp2

<=1.60.0

CVE-2024-28182

Node.js

<=18.20.0, <=20.12.0, <=21.7.1

CVE-2024-27983

Tempesta FW

0.7.0

CVE-2024-2758

Auswirkungen 

Angesichts der weiten Verbreitung von HTTP/2 und seines hohen Anteils am Internetverkehr (laut Cloudflare Radar schätzungsweise über 70 %) sind die Auswirkungen dieser Sicherheitslücke erheblich. Sie verdeutlicht, wie wichtig zeitnahe Patches und robuste Sicherheitsmaßnahmen sind, um das Ausnutzungsrisiko zu verringern und Webserver vor verheerenden Denial-of-Service-Angriffen (DoS) und Angriffen zum Umgehen von Sicherheitseinschränkungen zu schützen.

Abhilfemaßnahmen

Aktualisieren Sie das betroffene Programm auf die neueste Version, in der die Sicherheitslücke behoben ist. Falls kein Patch verfügbar ist, sollten Sie HTTP/2 auf dem Server vorübergehend deaktivieren.

Lösung

Patches einspielen und aktualisieren: Stellen Sie sicher, dass die neuesten Sicherheitsupdates für Ihre Serversoftware, relevante Bibliotheken und HTTP/2-Implementierungen installiert sind. Prüfen Sie regelmäßig, ob Softwareanbieter Updates bereitstellen, und installieren Sie verfügbare Updates umgehend, um bekannte Sicherheitslücken zu beheben.

Rate-Limiting einsetzen: Legen Sie Ratenbegrenzungen fest, um die Anzahl der Anfragen oder Frames zu beschränken, die innerhalb eines bestimmten Zeitraums verarbeitet werden dürfen. So lassen sich die Auswirkungen hohen Datenverkehrs oder von Überlastungsangriffen verringern.

Datenverkehr analysieren und überwachen: Achten Sie auf ungewöhnliche Muster oder Spitzen beim eingehenden Datenverkehr, die auf einen möglichen Angriff hindeuten könnten. Untersuchen Sie unbearbeiteten HTTP-Datenverkehr, um schädliche Anfragen zu erkennen und abzuwehren, die Schwachstellen in HTTP/2-Implementierungen ausnutzen.

Web Application Firewalls (WAFs) einsetzen: Richten Sie WAFs ein, um eingehenden Datenverkehr zu filtern und schädliche Anfragen daran zu hindern, Ihren Server zu erreichen. Konfigurieren Sie WAF-Regeln, um bekannte Angriffsmuster im Zusammenhang mit DoS-Angriffen auf HTTP/2 zu erkennen und zu blockieren.

Abwehrmaßnahmen auf Netzwerkebene einsetzen: Nutzen Sie Abwehrmaßnahmen auf Netzwerkebene wie Intrusion Detection Systems (IDS) oder Intrusion Prevention Systems (IPS), um verdächtige Datenverkehrsmuster zu erkennen und zu blockieren, die auf DoS-Angriffe gegen HTTP/2-Implementierungen hindeuten.

Server-Implementierungen diversifizieren: Verteilen Sie Ihre Server-Implementierungen auf verschiedene Projekte oder Anbieter. So können Sie die Widerstandsfähigkeit gegen Angriffe erhöhen und die Auswirkungen von Sicherheitslücken verringern, die nur bestimmte Implementierungen betreffen.

Sicherheitslücken mit Snyk erkennen

  1. amphp/http (CVE-2024-2653) – Ressourcenzuweisung ohne Begrenzung oder Drosselung

  2. Apache HTTP Server (CVE-2024-27316) – Unkontrollierter Ressourcenverbrauch („Resource Exhaustion“)

  3. Apache Tomcat (CVE-2024-24549) – Unzureichende Eingabevalidierung

  4. Apache Traffic Server (CVE-2024-31309) – Unkontrollierter Ressourcenverbrauch („Resource Exhaustion“)

  5. Envoy proxy (CVE-2024-27919 und CVE-2024-30255) – Erkennung eines Fehlerzustands ohne entsprechende Aktion und unkontrollierter Ressourcenverbrauch („Resource Exhaustion“) 

  6. Golang (CVE-2023-45288) – Ressourcenerschöpfung

  7. h2 Rust crate

  8. nghttp2 (CVE-2024-28182) – Ressourcenerschöpfung

  9. Node.js (CVE-2024-27983)  – Ressourcenerschöpfung

  10. Tempesta FW (CVE-2024-2758) – Ressourcenzuweisung ohne Begrenzung oder Drosselung 

Referenzen

  1. https://nowotarski.info/

  2. https://nowotarski.info/http2-continuation-flood-technical-details/#reachable-assertion-crash-nodejs-special-case 

  3. https://datatracker.ietf.org/doc/html/rfc7540 

  4. https://www.securityweek.com/new-http-2-dos-attack-potentially-more-severe-than-record-breaking-rapid-reset/

Sichern Sie Ihre Open-Source-Abhängigkeiten

Snyk erstellt PRs zur Behebung von Schwachstellen in Open-Source-Abhängigkeiten und deren transitiven Abhängigkeiten – mit nur einem Klick.

Weiterlesen

Blog

Frontier-Modelle fanden die Schwachstellen. Nur der Angreifer fand die Angriffsketten.

Die statische Analyse fand die Schwachstellen, doch erst Live-Angriffstests bewiesen, wie sie sich zu Angriffen verketten lassen. Ein Vergleich von Evo COS, Claude Security und Claude Code Security.

feature insights context
Blog

Autonome Angriffe sind bereits Realität. Die Verteidigung muss Schritt halten.

Autonome Angreifer verkürzen das Zeitfenster für die Verteidigung. Erfahren Sie, wie kontinuierliches Erkennen, Beheben, Validieren und Verhindern Sicherheitsteams helfen kann, Schritt zu halten.

Blog

Warum KI-Coding-Agenten immer wieder fehlerhafte Zugriffskontrollen schreiben

KI-Coding-Agenten können Autorisierungslogik erzeugen, die kompiliert und die Prüfung besteht, dabei aber die Daten eines Mandanten für einen anderen offenlegt. Erfahren Sie, warum fehlerhafte Zugriffskontrollen schwer zu erkennen sind und wie Sie sie verhindern.