Kërkuesit nga kompanitë Netflix dhe Google zbuluan tetë dobësi në realizime të ndryshme të protokollit HTTP/2, të cilat mund të shkaktojnë një ndalim shërbimi duke dërguar një rrjedhë të formatuar në një mënyrë të caktuar të kërkesave rrjet. Problemet ndodhin në një ose tjetër masë në shumicën e serverëve HTTP që mbështesin HTTP/2 dhe shkaktojnë shfrytëzimin e memories së disponueshme për procesin ose krijimin e një ngarkese shumë të lartë në CPU. Përditësimet për adresimin e dobësive janë tashmë të disponueshme në dhe , por për momentin për Apache httpd dhe .
Problemet lindeshin nga ndryshimet e bëra në protokollin HTTP/2, të lidhura me përdorimin e strukturave binar dhe sistemit të kufizimit të rrjedhave të dhënash brenda lidhjeve, mekanizmave të prioritizimit të rrjedhave dhe pranishmërisë së mesazheve kontrolluese të ngjashme me ICMP që veprojnë në nivelin e lidhjes HTTP/2 (p.sh., operacionet ping, reset dhe konfigurimin e rrjedhave). Shumë implementime nuk kufizuan siç duhet rrjedhën e mesazheve kontrolluese, organizuar në mënyrë joefikase radhën prioritet në trajtimin e kërkesave ose përdorën implementime jo optimale të algoritmeve të menaxhimit të rrjedhës.
Shumica e metodave të identifikuara të sulmit lidhen me dërgimin e kërkesave të caktuara në server, që çojnë në gjenerimin e një numri të madh përgjigjesh. Nëse klienti nuk lexon të dhënat nga soketi dhe nuk ndahet nga lidhja, radhët e buferit të përgjigjeve në anën e serverit vazhdojnë të mbushen. Ky lloj sjelljeje krijon ngarkesë në sistemin e menaxhimit të radhëve të trajtimit të lidhjeve rrjet dhe, në varësi të veçorive të implementimit, çon në shpenzimin e memories së disponueshme ose burimeve të CPU.
Vulnerabilitetet e identifikuara:
- CVE-2019-9511 (Data Dribble) â agresori kĂ«rkon njĂ« sasi tĂ« madhe tĂ« dhĂ«nash nĂ«pĂ«rmjet disa kanaleve, duke manipuluar madhĂ«sinĂ« e dritares lundruese dhe qĂ«ndrrimi i prioriteteve tĂ« kanaleve, duke detyruar serverin tĂ« vendosĂ« tĂ« dhĂ«nat nĂ« pritje nĂ« blloqe prej 1 byte;
- CVE-2019-9512 (Ping Flood) â agresori vazhdimisht dĂ«rgon mesazhe ping pĂ«rmes lidhjes HTTP/2, duke shkaktuar mbushjen nga ana tjetĂ«r tĂ« radhĂ«s sĂ« brendshme tĂ« pĂ«rgjigjeve tĂ« dĂ«rguara;
- CVE-2019-9513 (Resource Loop) â agresori krijon disa kanale kĂ«rkesash dhe vazhdimisht ndryshon prioritetin e kanaleve, duke shkaktuar pĂ«rzierje tĂ« pemĂ«s sĂ« prioriteteve;
- CVE-2019-9514 (Reset Flood) â agresori krijon disa kanale
dhe dĂ«rgon pĂ«rmes çdo kanali njĂ« kĂ«rkesĂ« tĂ« pasaktĂ«, duke shkaktuar dĂ«rgimin nga serveri tĂ« kadrove RST_STREAM, por nuk i pranon ato pĂ«r tĂ« mbushur radhĂ«n e pĂ«rgjigjeve; - CVE-2019-9515 (Settings Flood) â agresori dĂ«rgon njĂ« raund boshtesh "SETTINGS", pĂ«r tĂ« cilat serveri Ă«shtĂ« i detyruar tĂ« konfirmojĂ« marrjen e çdo kĂ«rkese;
- CVE-2019-9516 (0-Length Headers Leak) â agresori dĂ«rgon njĂ« raund titujsh me emra dhe vlera zero, dhe serveri dedikon njĂ« nga ruajtja pĂ«r çdo titull nĂ« memorie dhe nuk e lirohet deri nĂ« pĂ«rfundimin e sesionit;
- CVE-2019-9517 (Bufferimi i tĂ« DhĂ«nave tĂ« Brendshme) â njĂ« sulmues hap
njĂ« dritare tĂ« lĂ«vizshme HTTP/2 pĂ«r tĂ« dĂ«rguar tĂ« dhĂ«na nga serveri pa kufizime, por mb giữ dritaren TCP tĂ« mbyllur, duke mos lejuar qĂ« tĂ« dhĂ«nat tĂ« shkruhen nĂ« socket pĂ«rkatĂ«s. MĂ« pas, sulmuesi dĂ«rgon kĂ«rkesa qĂ« kĂ«rkojnĂ« njĂ« pĂ«rgjigje tĂ« madhe; - CVE-2019-9518 (PĂ«rmbytja e Kadrave tĂ« PrazĂ«) â njĂ« sulmues dĂ«rgon njĂ« rrjedhĂ« kadrash tĂ« tipit DATA, HEADERS, CONTINUATION ose PUSH_PROMISE, por me pĂ«rmbajtje tĂ« zbrazĂ«t dhe pa flagun e pĂ«rfundimit tĂ« rrjedhĂ«s. Serveri shpenzon kohĂ« pĂ«r tĂ« procesuar çdo kadĂ«r, nĂ« mĂ«nyrĂ« proporcionale me bandwidth-in e shpenzuar nga sulmuesi.
Burimi: opennet.ru
