JĂ€tkuva ĂŒleujutuse rĂŒnnak, mis pĂ”hjustab probleeme HTTP/2.0 kasutavatel serveritel.

Avalikustatud on teave „Continuation flood“ rĂŒnnaku meetodi kohta, mis puudutab erinevaid HTTP/2 protokolli rakendusi, sealhulgas Apache httpd, Apache Traffic Server, Node.js, oghttp, Go net/http2, Envoy, oghttp ja nghttp2. Haavatavust saab kasutada rĂŒnnakute teostamiseks HTTP/2.0 toe all olevatele serveritele ja sĂ”ltuvalt rakendusest vĂ”ib see pĂ”hjustada mĂ€lu ammendumist (pĂ€rast pĂ€ringute töötlemise lĂ”petamist vĂ”i protsesside kokkuvarisemist) vĂ”i kĂ”rget CPU koormust (pĂ€ringute töötlemise aeglustumine). Probleemi leidnud uurija arvates on tuvastatud probleem ohtlikum kui eelmisel aastal leitud „Rapid Reset“ haavatavus, mida kasutati toona suurimate DDoS-rĂŒnnakute korraldamiseks.

Ohtlikkuse kĂ”rge tase seletub sellega, et töö hĂ€irimiseks serverile, protsessi kokkuvarisemiseks vĂ”i tĂ”sise jĂ”udluse languse saavutamiseks piisab spetsiaalselt vormistatud pĂ€ringute voogude genereerimisest ĂŒhest tavalise arvuti seadmest. Teatud juhtudel on rĂŒnnaku teostamiseks piisav isegi ĂŒks TCP-ĂŒhendus. Sellega seoses ei eristu rĂŒnnakute kĂ€igus genereeritud liiklus logides tavalisest kasutaja pĂ€ringute taustast.

Haavatavus tuleneb HTTP/2 protokolli pĂ€ringute HEADERS ja CONTINUATION kaadris töötlemise eripĂ€radest. HEADERS kaadreid kasutatakse HTTP/2-s HTTP-pealkirjade edastamiseks, samas kui CONTINUATION kaadreid kasutatakse HTTP-pealkirjade edastamise jagamiseks mitmeks etapiks (nĂ€iteks, kui pealkirjad ei mahu ĂŒhte kaadrisse vĂ”i kui alguses tuleb edastada pealkirjad, mida saab praegusel etapil tĂ€ita, ja seejĂ€rel edastada lĂ”puks need pealkirjad, mille vÀÀrtusi ei saa veel mÀÀrata). Kui pealkirju edastatakse mitmes etapis, saadetakse esmalt HEADERS kaader, millel ei ole END_HEADERS lippu, sellele jĂ€rgneb mitu CONTINUATION kaadrit koos tĂ€iendavate pealkirjadega ja lĂ”petab nimekirja kaader CONTINUATION koos END_HEADERS lipuga.

RĂŒnnakumeetod seisneb END_HEADERS lipu puudumisega CONTINUATION kaadrite katkematus voogu saatmises. Sarnane tegevus toob kaasa server suure hulga pealkirjade edastamise, mida server hoiab mĂ€lus seni, kuni protsessi töötlemiseks vajalik mĂ€lu on ammendatud. Lisaks mĂ€lu ammendumisele vĂ”ib rĂŒndaja CPU koormuse suurendamiseks kasutada ka CONTINUATION kaadrite sisu kokkusurumist HPACK formaadis, mille parseerimine nĂ”uab arvutusressursse. HTTP/1.1 protokolli rakendustes kasutati serverite pealkirjade uputamise kaitsmiseks pealkirjade suuruse piiri ja ĂŒhenduse edastamise ajutĂ€it. HTTP/2 puhul ei ole protokolli keerukuse tĂ”ttu paljud rakendused selliseid kaitsemeetmeid piiramatu pealkirjade edastamise vastu ette nĂ€inud.

Suuremat ohtu esindab haavatavus Node.js kasutajate jaoks (CVE-2024-27983), kuna see rakendus vĂ”imaldab serverile saatmise kaudu paaride kaadritega serveri kokkuvarisemist saavutada. Node.js-is on vĂ”iduvĂ”idu puhul piisav lĂ”petada ĂŒhendused pealkirjade katkematu voolu saatmise ajal, et pĂ”hjustada katkestust (kui CONTINUATION kaader END_HEADERS lipuga ei ole veel toimunud). Haavatavus on kĂ”rvaldatud Node.js versioonides 18.20.1, 21.7.2 ja 20.12.1, samuti uusimates versioonides llhttp ja undici teekidest. Uutes Node.js versioonides on kĂ”rvaldatud ka vĂ€hem ohtlik haavatavus (CVE-2024-27982) „request smuggling“ kategooriast, mis vĂ”imaldab manipuleerida „Content Length“ vÀÀrtusega, et vahele kĂ€ia teiste kasutajate pĂ€ringute sisu, mis töödelda samas voos frontendi ja backend'i vahel.

CONTINUATION kaadrite töötlemisega seotud haavatavused muudes HTTP/2.0 rakendustes:

  • oghttp (CVE-2024-27919) – piiramatud mĂ€lu tarbimise.
  • Tempesta FW (CVE-2024-2758) – piirangute ĂŒletamine.
  • PHP teegid amphp/http, amphp/http-client ja amphp/http-server (CVE-2024-2653) – piiramatud mĂ€lu tarbimise, kuni kogu mĂ€lumaht on ammendatud.
  • Go pakett net/http (CVE-2023-45288) – kĂ”rge CPU koormuse tekitamine.
  • nghttp2 teek (CVE-2024-28182) – teenuse kĂ€ttesaamatuse tekitamine.
  • Apache Httpd (CVE-2024-27316) – ĂŒlemÀÀrane mĂ€lu tarbimine ja CPU koormuse tekitamine.
  • Apache Traffic Server (CVE-2024-31309) – ĂŒlemÀÀrane ressursside tarbimine.
  • Envoy (CVE-2024-30255) – kĂ”rge CPU koormuse tekitamine (tĂ€ielik koormus ĂŒhe CPU tuuma jaoks nĂ”uab 300Mbit/s voogu).

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster