2 DoS vundeblecoj estis identigitaj en diversaj efektivigoj de la HTTP/8-protokolo

Esploristoj de Netflix kaj Google identigita Estas ok vundeblecoj en diversaj efektivigoj de la HTTP/2-protokolo, kiuj povas kaŭzi neon de servo sendante fluon de retaj petoj laŭ certa maniero. La problemoj influas plej multajn HTTP-servilojn kun HTTP/2-subteno iagrade kaj kaŭzas, ke la laborprocezo elĉerpas memoron aŭ kreas tro da CPU-ŝarĝo. Ĝisdatigoj kiuj forigas vundeblecojn jam estas prezentitaj en nginx 1.16.1/1.17.3 и H2O 2.2.6, sed nuntempe nedisponebla por Apache httpd kaj aliaj produktoj.

La problemoj rezultiĝis el komplikaĵoj enkondukitaj en la HTTP/2 protokolo asociita kun la uzo de binaraj strukturoj, sistemo por limigado de datumfluoj ene de ligoj, flua prioritatmekanismo, kaj la ĉeesto de ICMP-similaj kontrolmesaĝoj funkciigantaj ĉe la HTTP/2-konekto. nivelo (ekzemple, ping, reset, kaj fluagordoj). Multaj efektivigoj ne konvene limigis la fluon de kontrolmesaĝoj, ne efike administris la prioritatvicon dum prilaborado de petoj, aŭ uzis suboptimumajn efektivigojn de flukontrolalgoritmoj.

La plej multaj el la identigitaj atakmetodoj estas sendi iujn petojn al la servilo, kondukante al la generacio de granda nombro da respondoj. Se la kliento ne legas datumojn de la ingo kaj ne fermas la konekton, la responda bufrovico ĉe la servilo senĉese pleniĝas. Ĉi tiu konduto kreas ŝarĝon sur la vicadministradsistemo por prilaborado de retkonektoj kaj, depende de la efektivigtrajtoj, kondukas al la elĉerpiĝo de disponebla memoro aŭ CPU-resursoj.

Identigitaj vundeblecoj:

  • CVE-2019-9511 (Data Dribble) - atakanto petas grandan kvanton da datumoj en plurajn fadenojn manipulante la glitan fenestrograndecon kaj fadenan prioritaton, devigante la servilon vicigi la datumojn en 1-bajtaj blokoj;
  • CVE-2019-9512 (Ping Flood) - atakanto kontinue venenas ping-mesaĝojn per HTTP/2-konekto, kaŭzante la internan atendovicon de senditaj respondoj inundi sur la alia flanko;
  • CVE-2019-9513 (Rimeda Buklo) - atakanto kreas multoblajn petajn fadenojn kaj senĉese ŝanĝas la prioritaton de la fadenoj, igante la prioritatarbon miksi;
  • CVE-2019-9514 (Restarigi Flood) - atakanto kreas plurajn fadenojn
    kaj sendas nevalidan peton tra ĉiu fadeno, igante la servilon sendi RST_STREAM kadrojn, sed ne akcepti ilin por plenigi la respondvicon;

  • CVE-2019-9515 (Agordoj Flood) - la atakanto sendas fluon de malplenaj "AJROJ" kadroj, responde al kiuj la servilo devas agnoski ricevon de ĉiu peto;
  • CVE-2019-9516 (0-Length Headers Leak) - atakanto sendas fluon da kaplinioj kun nula nomo kaj nula valoro, kaj la servilo asignas bufron en memoro por stoki ĉiun kaplinion kaj ne liberigas ĝin ĝis la sesio finiĝas. ;
  • CVE-2019-9517 (Interna Datuma Buffering) - atakanto malfermiĝas
    HTTP/2 glitanta fenestro por la servilo sendi datumojn sen limigoj, sed tenas la TCP-fenestron fermita, malhelpante ke datumoj efektive estu skribitaj al la ingo. Poste, la atakanto sendas petojn, kiuj postulas grandan respondon;

  • CVE-2019-9518 (Malplenaj Kadroj Flood) - Atakanto sendas fluon de kadroj de tipo DATA, HEADERS, CONTINUATION aŭ PUSH_PROMISE, sed kun malplena utila ŝarĝo kaj sen flua finflago. La servilo pasigas tempon pritraktante ĉiun kadron, neproporcia al la larĝa de bando konsumita de la atakanto.

fonto: opennet.ru

Aldoni komenton