2 DoS-kwetsberheden binne identifisearre yn ferskate ymplemintaasjes fan it HTTP/8-protokol

Undersikers fan Netflix en Google identifisearre D'r binne acht kwetsberens yn ferskate ymplemintaasjes fan it HTTP/2-protokol dy't in ûntkenning fan tsjinst kinne feroarsaakje troch in stream fan netwurkoanfragen op in bepaalde manier te ferstjoeren. It probleem beynfloedet de measte HTTP-tsjinners mei HTTP/2-stipe yn guon graad en resultearret yn 'e wurker dy't sûnder ûnthâld rint of tefolle CPU-belêsting makket. Updates dy't kwetsberens eliminearje binne al presintearre yn nginx 1.16.1/1.17.3 и H2O 2.2.6, mar foar no net beskikber foar Apache httpd en oare produkten.

De problemen resultearre út komplikaasjes yntrodusearre yn it HTTP/2-protokol ferbûn mei it brûken fan binêre struktueren, in systeem foar it beheinen fan gegevensstreamen binnen ferbiningen, in meganisme foar streamprioritearing, en de oanwêzigens fan ICMP-like kontrôleberjochten dy't operearje by de HTTP/2-ferbining nivo (bygelyks ping-, reset- en streamynstellingen). In protte ymplemintaasjes beheinen de stream fan kontrôleberjochten net goed, behearden de prioriteitswachtrige net effisjint by it ferwurkjen fan oanfragen, of brûkten suboptimale ymplemintaasjes fan streamkontrôlealgoritmen.

De measte fan 'e identifisearre oanfalmetoaden komme del op it ferstjoeren fan bepaalde oanfragen nei de tsjinner, wat liedt ta it generearjen fan in grut oantal antwurden. As de kliïnt gjin gegevens fan 'e socket lêze en de ferbining net slute, foltôgje de antwurdbufferwachtrige oan' e serverkant kontinu. Dit gedrach soarget foar in lading op it wachtrige behearsysteem foar it ferwurkjen fan netwurkferbiningen en, ôfhinklik fan 'e ymplemintaasjefunksjes, liedt ta de útputting fan beskikbere ûnthâld of CPU-boarnen.

Identifisearre kwetsberens:

  • CVE-2019-9511 (Data Dribble) - in oanfaller freget in grutte hoemannichte gegevens yn meardere diskusjes troch it manipulearjen fan de slide finstergrutte en threadprioriteit, wêrtroch de tsjinner twingt om de gegevens yn 1-byte blokken te wachtrige;
  • CVE-2019-9512 (Ping Flood) - in oanfaller fergiftiget kontinu ping-berjochten oer in HTTP/2-ferbining, wêrtroch't de ynterne wachtrige fan ferstjoerde antwurden oan 'e oare kant oerstreamt;
  • CVE-2019-9513 (Resource Loop) - in oanfaller makket meardere fersykthreads en feroaret kontinu de prioriteit fan 'e threads, wêrtroch't de prioriteitsbeam skodt;
  • CVE-2019-9514 (Reset Flood) - in oanfaller makket meardere triedden
    en stjoert in ûnjildich fersyk fia elke tried, wêrtroch't de tsjinner RST_STREAM-frames stjoert, mar se net akseptearje om de antwurdwachtrige te foljen;

  • CVE-2019-9515 (Settings Flood) - de oanfaller stjoert in stream fan lege "SETTINGS" frames, yn antwurd wêrop de tsjinner ûntfangst fan elk fersyk moat erkennen;
  • CVE-2019-9516 (0-Length Headers Leak) - in oanfaller stjoert in stream fan kopteksten mei in nulnamme en in nulwearde, en de tsjinner jout in buffer yn it ûnthâld ta om elke koptekst op te slaan en lit it net los oant de sesje einiget ;
  • CVE-2019-9517 (ynterne gegevensbuffering) - oanfaller iepenet
    HTTP / 2 sliding finster foar de tsjinner te stjoeren gegevens sûnder beheinings, mar hâldt it TCP finster ticht, foarkomt dat gegevens werklik wurde skreaun nei de socket. Dêrnei stjoert de oanfaller fersiken dy't in grut antwurd fereaskje;

  • CVE-2019-9518 (Empty Frames Flood) - In oanfaller stjoert in stream fan frames fan type DATA, HEADERS, CONTINUATION, of PUSH_PROMISE, mar mei lege lading en gjin flagge foar streambeëiniging. De tsjinner besteget tiid oan it ferwurkjen fan elk frame, net evenredich oan de bânbreedte dy't konsumearre wurdt troch de oanfaller.

Boarne: opennet.ru

Add a comment