Kërkuesit nga kompanitë Netflix dhe Google gjetën tetë vulnerabilitete në implementimet e ndryshme të protokollit HTTP/2, të cilat lejojnë shkaktimin e një ndalimi të shërbimit përmes dërgimit të një rrjedhe të dhënash që janë formatuar në një mënyrë të caktuar. Problemet prekin në një farë mase shumicën e serverëve HTTP që mbështesin HTTP/2 dhe çojnë në shterimin e memories së disponueshme për procesin e punës ose krijimin e një ngarkese shumë të lartë në CPU. Azhurnimet që adresojnë këto vulnerabilitete janë tashmë të disponueshme në dhe , por akoma për Apache httpd dhe .
Problemet ishin pasojë e ndërlikimeve të sjella në protokollin HTTP/2, të lidhura me përdorimin e strukturave binarë, sistemit të kufizimit të rrjedhave të dhënash brenda lidhjeve, mekanizmit të prioritizimit të rrjedhave dhe pranisë së mesazheve të kontrollit të ngjashme me ICMP që funksionojnë në nivelin e lidhjes HTTP/2 (p.sh. operacionet ping, rifillimi dhe konfigurimi i rrjedhës). Shumica e implementimeve nuk i kufizuan siç duhet rrjedhat e mesazheve të kontrollit, organizonin në mënyrë joefikase radhën e prioriteteve gjatë përpunimit të kërkesave, ose përdornin implementime jo optimale të algoritmeve të kontrollit të rrjedhës.
Shumica e metodave të identifikuara të sulmit përfshijnë dërgimin e kërkesave të caktuara në server që shkaktojnë gjenerimin e një numri të madh përgjigjesh. Nëse klienti nuk lexon të dhënat nga soketi dhe nuk ndërpret lidhjen, radhë e tamponit të përgjigjeve në anën e serverit vazhdimisht mbushët. Një sjellje e tillë krijon ngarkesë në sistemin e menaxhimit të radhëve për përpunimin e lidhjeve rrjet dhe në varësi të veçorive të implementimit, çon në shterimin e memories ose burimeve të CPU-së.
Vulnerabilitetet e identifikuara:
- CVE-2019-9511 (Data Dribble) â sulmuesi kĂ«rkon njĂ« volum tĂ« madh tĂ« tĂ« dhĂ«nave nĂ« disa rrjedha, duke manipuluar madhĂ«sinĂ« e dritares lundruese dhe prioritetin e rrjedhĂ«s, duke detyruar serverin tĂ« vendosĂ« tĂ« dhĂ«nat nĂ« radhĂ« nĂ« blloqe prej 1 byte;
- CVE-2019-9512 (Ping Flood) â sulmuesi vazhdimisht dĂ«rgon mesazhe ping pĂ«rmes lidhjes HTTP/2, duke nxisur mbushjen e radhĂ«s sĂ« brendshme tĂ« pĂ«rgjigjeve tĂ« dĂ«rguara nĂ« anĂ«n tjetĂ«r;
- CVE-2019-9513 (Resource Loop) â sulmuesi krijon disa rrjedha kĂ«rkesash dhe vazhdimisht ndryshon prioritetet e rrjedhave, duke shkaktuar pĂ«rzierjen e pemĂ«s sĂ« prioriteteve;
- CVE-2019-9514 (Reset Flood) â sulmuesi krijon disa rrjedha
dhe dĂ«rgon pĂ«rmes çdo shkalle njĂ« kĂ«rkesĂ« tĂ« papĂ«rshtatshme, duke shkaktuar dĂ«rgimin nga serveri tĂ« paketave RST_STREAM, por nuk i pranon ato pĂ«r tĂ« mbushur radhĂ«n e pĂ«rgjigjeve; - CVE-2019-9515 (Settings Flood) â sulmuesi dĂ«rgon njĂ« rrjedhĂ« paketash bosh "SETTINGS", ndaj tĂ« cilave serveri Ă«shtĂ« i detyruar tĂ« konfirmojĂ« pranimimin e çdo kĂ«rkese;
- CVE-2019-9516 (0-Length Headers Leak) â sulmuesi dĂ«rgon njĂ« rrjedhĂ« titujsh me emĂ«r zero dhe vlerĂ« zero, ndĂ«rsa serveri alokon njĂ« tampon nĂ« memorie pĂ«r ruajtjen e çdo titulli dhe nuk e çliron atĂ« deri nĂ« pĂ«rfundimin e sesionit;
- CVE-2019-9517 (Internal Data Buffering) â sulmuesi hap
njĂ« dritare lĂ«vizĂ«se HTTP/2 pĂ«r tĂ« dĂ«rguar tĂ« dhĂ«na nga serveri pa kufizime, por mban dritaren TCP tĂ« mbyllur, gjĂ« qĂ« nuk lejon mbushjen reale tĂ« tĂ« dhĂ«nave nĂ« socket. MĂ« pas, sulmuesi dĂ«rgon kĂ«rkesa qĂ« kĂ«rkojnĂ« pĂ«rgjigje tĂ« mĂ«dha; - CVE-2019-9518 (Empty Frames Flood) â sulmuesi dĂ«rgon njĂ« rrjedhĂ« paketash tĂ« tipit DATA, HEADERS, CONTINUATION ose PUSH_PROMISE, por me pĂ«rmbajtje bosh dhe pa flamur pĂ«rfundimi. Serveri humbet kohĂ« nĂ« pĂ«rpunimin e çdo pakete, proporcionalisht me bandĂ«n e tĂ« dhĂ«nave tĂ« shpenzuar nga sulmuesi.
Burimi: opennet.ru
