2 DoS varnarleysi hefur verið greint í ýmsum útfærslum á HTTP/8 samskiptareglunum

Rannsakendur frá Netflix og Google auðkennd Það eru átta veikleikar í ýmsum útfærslum á HTTP/2 samskiptareglunum sem geta valdið afneitun á þjónustu með því að senda straum af netbeiðnum á ákveðinn hátt. Vandamálin hafa áhrif á flesta HTTP netþjóna með HTTP/2 stuðningi að einhverju leyti og valda því að vinnuferlið verður uppiskroppa með minni eða skapar of mikið CPU álag. Uppfærslur sem útrýma veikleikum eru þegar kynntar í nginx 1.16.1/1.17.3 и H2O 2.2.6, en í bili ófáanlegt fyrir Apache httpd og aðrar vörur.

Vandamálin stafa af fylgikvillum sem komu inn í HTTP/2 samskiptareglur sem tengjast notkun tvíundirvirkja, kerfi til að takmarka gagnaflæði innan tenginga, forgangsröðunarkerfi fyrir flæði og tilvist ICMP-líkra stjórnskilaboða sem starfa við HTTP/2 tenginguna stigi (til dæmis ping, endurstilla og flæðisstillingar). Margar útfærslur takmarkaðu ekki flæði stjórnunarskilaboða á réttan hátt, stjórnuðu ekki forgangsröðinni á skilvirkan hátt við vinnslu beiðna eða notuðu óákjósanlegar útfærslur á flæðistýringaralgrími.

Flestar auðkenndar árásaraðferðir snúast um að senda ákveðnar beiðnir til netþjónsins, sem leiðir til fjölda svara. Ef viðskiptavinurinn les ekki gögn úr falsinu og lokar ekki tengingunni, fyllist stöðugt biðröð fyrir svörun á miðlarahliðinni. Þessi hegðun skapar álag á biðraðastjórnunarkerfið til að vinna úr nettengingum og leiðir, allt eftir útfærslueiginleikum, til tæmingar á tiltæku minni eða örgjörvaforða.

Greind veikleika:

  • CVE-2019-9511 (Data Dribble) - árásarmaður biður um mikið magn af gögnum í marga þræði með því að vinna með rennigluggastærð og þráðaforgang, sem neyðir þjóninn til að setja gögnin í biðröð í 1-bæta blokkum;
  • CVE-2019-9512 (Ping Flood) - árásarmaður eitrar stöðugt ping-skilaboð yfir HTTP/2 tengingu, sem veldur því að innri biðröð sendra svara flæða yfir hinum megin;
  • CVE-2019-9513 (Resource Loop) - árásarmaður býr til marga beiðniþræði og breytir stöðugt forgangi þráðanna, sem veldur því að forgangstréð stokkast upp;
  • CVE-2019-9514 (Endurstilla flóð) - árásarmaður býr til marga þræði
    og sendir ógilda beiðni í gegnum hvern þráð, sem veldur því að þjónninn sendir RST_STREAM ramma, en samþykkir þá ekki til að fylla í svarröðina;

  • CVE-2019-9515 (Settings Flood) - árásarmaðurinn sendir straum af tómum „SETTINGS“ ramma, sem svar við því að þjónninn verður að staðfesta móttöku hverrar beiðni;
  • CVE-2019-9516 (0-Length Headers Leak) - árásarmaður sendir straum af hausum með núllheiti og núllgildi og þjónninn úthlutar biðminni í minni til að geyma hvern haus og sleppir honum ekki fyrr en lotunni lýkur ;
  • CVE-2019-9517 (Internal Data Buffering) - árásarmaður opnast
    HTTP/2 rennandi gluggi fyrir netþjóninn til að senda gögn án takmarkana, en heldur TCP glugganum lokuðum og kemur í veg fyrir að gögn séu í raun skrifuð í falsið. Næst sendir árásarmaðurinn beiðnir sem krefjast mikils svars;

  • CVE-2019-9518 (Empty Frames Flood) - Árásarmaður sendir straum af römmum af gerðinni DATA, HEADERS, CONTINUATION eða PUSH_PROMISE, en með tómu farmfari og án flæðislokunarfána. Miðlarinn eyðir tíma í að vinna úr hverjum ramma, í óhófi við bandbreiddina sem árásarmaðurinn notar.

Heimild: opennet.ru

Bæta við athugasemd