In verschillende implementaties van het HTTP/2-protocol zijn 8 DoS-kw Vulnerabilities vastgesteld.

Onderzoekers van Netflix en Google hebben aangetoond hebben acht kwetsbaarheden ontdekt in verschillende implementaties van het HTTP/2-protocol, die kunnen leiden tot een denial-of-service door het verzenden van netwerkverzoeken die op een bepaalde manier zijn opgesteld. Deze problemen raken in meer of mindere mate de meeste HTTP-servers die HTTP/2 ondersteunen en leiden tot uitputting van het beschikbare geheugen voor de werkprocessen of tot een te hoge belasting van de CPU. Updates om deze kwetsbaarheden te verhelpen zijn inmiddels beschikbaar in nginx 1.16.1/1.17.3 en H2O 2.2.6, maar voorlopig niet beschikbaar voor Apache httpd en andere producten.

De problemen zijn het gevolg van complicaties die zijn aangebracht in het HTTP/2-protocol, gerelateerd aan het gebruik van binaire structuren, een systeem van datastroombeperkingen binnen verbindingen, het mechanisme voor het prioriteren van stromen en de aanwezigheid van ICMP-achtige control messages die werken op het niveau van de HTTP/2-verbinding (zoals ping-operaties, het resetten en instellen van stromen). Veel implementaties beperkten de stroom van control messages niet correct, organiseerden de prioriteitswachtrij inefficiƫnt bij het verwerken van aanvragen, of gebruikten suboptimale implementaties van stroomsnelheidsalgoritmen.

De meeste ontdekte aanvalsmethoden komen neer op het verzenden van specifieke verzoeken naar de server, die leiden tot het genereren van een groot aantal antwoorden. Als de client de gegevens uit de socket niet leest en de verbinding niet verbreekt, wordt de antwoordbufferwachtrij aan de server voortdurend gevuld. Dit gedrag creƫert een belasting voor het systeem dat de wachtrij voor het beheren van netwerkverbindingen afhandelt en leidt afhankelijk van de implementatiedetails tot de uitputting van het beschikbare geheugen of CPU-resources.

GeĆÆdentificeerde kwetsbaarheden:

  • CVE-2019-9511 (Data Dribble) — de aanvaller vraagt een groot volume aan gegevens aan in meerdere stromen, door de grootte van het sliding window en de prioriteit van de stroom te manipuleren, waardoor de server gedwongen wordt om gegevens blokgewijs in blokken van 1 byte in de wachtrij te plaatsen;
  • CVE-2019-9512 (Ping Flood) — de aanvaller stuurt voortdurend ping-berichten via de HTTP/2-verbinding, waardoor de interne wachtrij van verzonden antwoorden aan de andere kant wordt gevuld;
  • CVE-2019-9513 (Resource Loop) — de aanvaller creĆ«ert meerdere stromen van verzoeken en verandert voortdurend de prioriteit van de stromen, waardoor de prioriteitenboom door elkaar wordt geschud;
  • CVE-2019-9514 (Reset Flood) — de aanvaller creĆ«ert meerdere stromen
    en verzendt via elke stroom een onjuiste aanvraag, wat het server dwingt om RST_STREAM-frames te verzenden, maar deze niet accepteert voor het vullen van de antwoordwachtrij;
  • CVE-2019-9515 (Settings Flood) — de aanvaller verzendt een stroom van lege 'SETTINGS'-frames, waarop de server verplicht is om ontvangst van elke aanvraag te bevestigen;
  • CVE-2019-9516 (0-Length Headers Leak) — de aanvaller verzendt een stroom van headers met nulnaam en nulwaarde, terwijl de server voor elke header een geheugenbuffer toewijst en deze niet vrijgeeft tot het einde van de sessie;
  • CVE-2019-9517 (Internal Data Buffering) — de aanvaller opent
    een glijdend HTTP/2-venster om de server gegevens zonder beperkingen te laten verzenden, terwijl het TCP-venster gesloten blijft, waardoor het feitelijk niet mogelijk is om gegevens in de socket te schrijven. Vervolgens verzendt de aanvaller aanvragen die grote antwoorden vereisen;
  • CVE-2019-9518 (Empty Frames Flood) — de aanvaller verzendt een stroom van frames van het type DATA, HEADERS, CONTINUATION of PUSH_PROMISE, maar met lege nuttige inhoud en zonder flow-finish vlag. De server verliest tijd met het verwerken van elk frame, wat onevenredig is ten opzichte van de bandbreedte die door de aanvaller wordt verbruikt.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster