HTTP/2 protokolli rakendustes esinev haavatavus, mis lihtsustab DoS-rünnakute läbiviimist.

Esitletakse uut rünnetehnoloogiat HTTP/2 protokolli realiseerimisel, mis lihtsustab teenuse keelamise rünnakute läbiviimist serveri ressurside ammendamise kaudu. Haavatavust tuntakse koodnimega MadeYouReset ja see võimaldab manipuleerida HTTP/2 juhtkäikudega, üle koormata serverit suurte päringute hulgaga, mööda minnes kehtestatud piirangutest.

Probleemi olemus seisneb selles, et klient suudab luua väga suure arvu samaaegselt töödeldavaid vooge, olenemata SETTINGS_MAX_CONCURRENT_STREAMS limiidist, lähtestades iga voo algfaasis. Selline lähtestamine tähendab, et uue päringu saatmiseks kehtivas HTTP/2 ühenduses ei pea klient ootama vastuse saamist. serverile ja saab kohe suunata suure pideva päringute voolu, nii palju kui ühenduse läbilaskevõime võimaldab.

Klient lõpetab sõltumise päringu saatmise ja vastuse saamise (RTT, round-trip time) viivitustest ning saab rünnata minimaalse kulu jaotust, kuna server jätkab sisenevate päringute töötlemiseks ressursside kulutamist. Näiteks server varustab andmestruktuure uute voogude jaoks, analüüsib päringut, dekompresseerib pealkirja ja toetab URL-i ressurssidega. Tagasi pöördumisproksidele suunatud rünnaku korral võib rünnak laieneda tagumise plaani süsteemidele, kuhu proksil on aega päring suunata enne selle tühistamist.

Haavatavus meenutab varasemalt tuntud probleemi Rapid Reset (CVE-2023-44487) ja on põhjustatud voogude tühistamise loogika lahknevusest, mis on määratletud HTTP/2 protokolli spetsifikatsioonis ja rakendatud lõppproduktides. Spetsifikatsioon võimaldab voogu tühistada nii kliendi kui serveri poolt igal ajal, kuid paljude HTTP/2 rakenduste puhul -serverite pärast sarnast tühistamist päringut edasi töödeldakse. Uue rünnaku peamine erinevus on see, et päringu töötlemise tühistamine toimub serveri algatusel, mitte kliendi saatud RST_STREAM lipuga kaadris.

Serveri algatusel toimuva lähtestamise korral toimub see valepärase päringu saamisel, kuid sellised päringud lükatakse tagasi kohe, enne nende täielikku töötlemist ja edastamist taustteenusele. Rünnakuline isik võib esmalt saata korrektse HTTP-päringu, kuid seejärel edasi edastada vale järjestuse HTTP/2 juhtimiskaadritest. Taoline tegevus toob kaasa selle, et server hakkab päringut täielikult töötlema, kuid seejärel katkestab voog (järelkasutades korrektset päringut RST_STREAM olekusse).

HTTP/2 protokolli rakendustes esinev haavatavus, mis lihtsustab DoS-rünnakute läbiviimist.

Probleemi esinemine on kinnitatud HTTP-serverites Apache Tomcat, Netty, Eclipse Jetty, Fastly, Varnish, Lighttpd, Zephyr RTOS. Probleem ilmneb ka Mozilla veebisaitidel ja serveriteenustes. Apache httpd, Apache Traffic Server, Node.js, LiteSpeed ja HAProxy ei ole sellele probleemile vastuvõtlikud. Nginx'i haavatavuse seisund ei ole kindlaks tehtud.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster