Netflix eta Google-ko ikertzaileak
Arazoak egitura bitarren erabilerarekin lotutako HTTP/2 protokoloan sartutako konplikazioak, konexioen barruan datu-fluxuak mugatzeko sistema bat, fluxuak lehenesteko mekanismoa eta HTTP/2 konexioan funtzionatzen duten ICMP antzeko kontrol-mezuen presentziaren ondorioz sortu ziren. maila (adibidez, ping, berrezarri eta fluxu ezarpenak). Inplementazio askok ez zuten behar bezala mugatu kontrol-mezuen fluxua, ez zuten lehentasunezko ilara modu eraginkorrean kudeatu eskaerak prozesatzen zituztenean edo fluxua kontrolatzeko algoritmoen inplementazio ez-optimoak erabili zituzten.
Identifikatutako eraso-metodo gehienak zerbitzariari eskaera batzuk bidaltzera heltzen dira, eta erantzun kopuru handia sortzen dute. Bezeroak ez badu socketeko datuak irakurtzen eta konexioa ixten ez badu, zerbitzariaren aldean erantzunen buffer-ilara etengabe betetzen da. Jokabide honek sareko konexioak prozesatzeko ilarak kudeatzeko sisteman karga sortzen du eta, inplementazio-eginbideen arabera, eskuragarri dauden memoria edo CPU baliabideak agortzea dakar.
Identifikatutako ahultasunak:
- CVE-2019-9511 (Data Dribble) - erasotzaile batek datu-kopuru handia eskatzen du hainbat haritan irristakorra den leihoaren tamaina eta hariaren lehentasuna manipulatuz, zerbitzariak datuak 1-byte-ko blokeetan ilaran jartzera behartuz;
- CVE-2019-9512 (Ping Flood) - erasotzaile batek etengabe pozoitzen ditu ping mezuak HTTP/2 konexio baten bidez, eta bidalitako erantzunen barne-ilarak gainezka eragiten du beste aldean;
- CVE-2019-9513 (Baliabideen begizta) - erasotzaile batek hainbat eskaera-hari sortzen ditu eta harien lehentasuna etengabe aldatzen du, lehentasun-zuhaitza nahastea eraginez;
- CVE-2019-9514 (Berrezarri Flood) - erasotzaile batek hainbat hari sortzen ditu
eta hari bakoitzaren bidez eskaera baliogabe bat bidaltzen du, zerbitzariak RST_STREAM fotogramak bidaltzen dituelako, baina ez ditu onartzen erantzun-ilara betetzeko; - CVE-2019-9515 (Ezarpenak uholdea) - erasotzaileak "SETTINGS" fotograma hutsen korronte bat bidaltzen du, eta horren aurrean zerbitzariak eskaera bakoitza jaso duela aitortu behar du;
- CVE-2019-9516 (0-Length Headers Leak) - Erasotzaileak goiburu-korronte bat bidaltzen du izen nuluarekin eta balio nulu batekin, eta zerbitzariak buffer bat esleitzen du memorian goiburu bakoitza gordetzeko eta ez du askatzen saioa amaitu arte. ;
- CVE-2019-9517 (Internal Data Buffering) - erasotzailea irekitzen da
HTTP/2 leiho irristakorra zerbitzariak datuak mugarik gabe bidal ditzan, baina TCP leihoa itxita mantentzen du, datuak socketean idaztea eragozten du. Jarraian, erasotzaileak erantzun handia eskatzen duten eskaerak bidaltzen ditu; - CVE-2019-9518 (Empty Frames Flood) - Erasotzaile batek DATA, HEADERS, CONTINUATION edo PUSH_PROMISE motako fotograma-korronte bat bidaltzen du, baina karga hutsarekin eta fluxua amaitzeko banderarik gabe. Zerbitzariak denbora pasatzen du fotograma bakoitza prozesatzen, erasotzaileak kontsumitzen duen banda-zabalerarekiko neurrigabea.
Iturria: opennet.ru