Erinevates HTTP/2 protokolli rakendustes on tuvastatud 8 DoS-haavatavust

Netflixi ja Google'i teadlased tuvastasid leidsid erinevates HTTP/2 protokolli rakendustes kaheksa haavatavust, mis vÔimaldavad teenuse katkestamist, saates teatud viisil vormindatud vÔrgupÀringute vooge. Probleemid mÔjutavad enamasti enamikku HTTP/2-ga toetatud HTTP-serveritest ning toovad kaasa töötamismÀlu ammendumise vÔi liiga kÔrge koormuse CPU-le. Haavatavuste parandused on juba esitatud nginx 1.16.1/1.17.3 ja H2O 2.2.6, kuid praegu kÀttesaamatud Apache httpd ja teised tooted.

Probleemid tulenesid HTTP/2 protokolli keerukustest, mis on seotud binaarsete struktuuride kasutamise, voogude andmete piirangute sĂŒsteemi, voogude prioriseerimise mehhanismi ja ICMP-sarnaste juhtimisvĂ”tete olemasolu tĂ”ttu, mis töötavad HTTP/2 ĂŒhendustasandil (nĂ€iteks ping, voogude nullimise ja seadistamise toimingud). Paljud rakendused ei piiranud korralikult juhtimise sĂ”numite voogu, korraldasid ebaefektiivselt prioriteedi töötlemise jĂ€rjekorda vĂ”i kasutasid mitteoptimeeritud voogude juhtimise algoritme.

Enamiku tuvastatud rĂŒnnakumeetodite puhul saadetakse serverisse teatud pĂ€ringud, mis genereerivad suure hulga vastuseid. Kui klient ei loe andmeid pesast ja ei katka ĂŒhendust, tĂ€itub serveri poolel pidevalt vastuste vahemĂ€lu jĂ€rjekord. Selline kĂ€itumine koormab vĂ”rguĂŒhenduste töötlemise jĂ€rjekorra haldamise sĂŒsteemi ja sĂ”ltuvalt rakenduse eripĂ€rast vĂ”ib see pĂ”hjustada mĂ€lu vĂ”i CPU ressursside ammendumist.

Tuletatud haavatavused:

  • CVE-2019-9511 (Data Dribble) — rĂŒndaja pĂ€rib suurt andmemahtu mitmes voos, manipuleerides libiseva akna suuruse ja voogude prioriteediga, sundides serverit andmed jĂ€rjekorda panema 1-baidiste plokkidena;
  • CVE-2019-9512 (Ping Flood) — rĂŒndaja saatis pidevalt ping-sĂ”numeid HTTP/2 ĂŒhenduse kaudu, kĂ€ivitades vastuste sisemise jĂ€rjekorra tĂ€itmise teisel pool;
  • CVE-2019-9513 (Resource Loop) — rĂŒndaja loob mitu pĂ€ringuvoolu ja muudab pidevalt voogude prioriteete, pĂ”hjustades prioriteedi puu segunemise;
  • CVE-2019-9514 (Reset Flood) — rĂŒndaja loob mitu voogu
    ja saadab iga voog kaudu vale pĂ€ringu, mis kutsub serveri ĂŒles saatma RST_STREAM kaadreid, kuid ei vĂ”ta neid vastuste jĂ€rjekorra tĂ€itmiseks;
  • CVE-2019-9515 (Seadete ĂŒleujutus) – rĂŒndaja saadab voogu tĂŒhje „SETTINGS” kaadreid, millele server peab iga pĂ€ringu kĂ€tte saamise kinnitamiseks vastama;
  • CVE-2019-9516 (0-pikkusega pĂ€iste leke) – rĂŒndaja saadab pĂ€iste voogu, mille nimed ja vÀÀrtused on null, samas kui server mÀÀrab iga pĂ€ise jaoks mĂ€lu puhverdus, mida ei vabastata enne sessiooni lĂ”ppu;
  • CVE-2019-9517 (Sisene andmepuurimise) – rĂŒndaja avab
    libiseva HTTP/2 akna, et server saaks andmeid piiramata edastada, kuid hoiab samas TCP akna suletuna, mis ei vĂ”imalda andmeid tegelikult soketti kirjutada. SeejĂ€rel saadab rĂŒndaja pĂ€ringud, mis nĂ”uavad suurt vastust;
  • CVE-2019-9518 (TĂŒhjade kaadrite ĂŒleujutus) – rĂŒndaja saadab DATA, HEADERS, CONTINUATION vĂ”i PUSH_PROMISE tĂŒĂŒpi kaadreid, kuid tĂŒhja kasuliku sisu ja ilma voolu lĂ”petamise liputa. Server kulutab aega iga kaadri töötlemiseks, mis ei ole proportsionaalne rĂŒndaja kasutatavale ribale.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster