Fitohizan'ny fanafihana tondra-drano miteraka olana amin'ny mpizara mampiasa HTTP/2.0

Nambara ny vaovao momba ny fomba fanafihana "Continuation flood" misy fiantraikany amin'ny fampiharana isan-karazany amin'ny protocol HTTP/2, ao anatin'izany ny Apache httpd, Apache Traffic Server, Node.js, oghttp, Go net/http2, Envoy, oghttp ary nghttp2. Ny vulnerability dia azo ampiasaina amin'ny fanafihan'ny mpizara izay manohana ny HTTP/2.0 ary, miankina amin'ny fampiharana, dia mitarika ho amin'ny faharerahan'ny fitadidiana (fampitsaharana ny fanodinana fangatahana na ny fianjerana) na ny famoronana enta-mavesatra CPU (fihenam-bidy amin'ny fanodinana fangatahana). Araka ny filazan'ny mpikaroka nahita ny vulnerability, ny olana fantatra dia mampidi-doza kokoa noho ny vulnerability "Reset haingana" hita tamin'ny taon-dasa, izay nampiasaina hanatanterahana ny fanafihana DDoS lehibe indrindra tamin'izany fotoana izany.

Ny haavon'ny loza dia hazavain'ny hoe mba hanakorontanana ny asa mpizaraMba hiteraka fianjerana, na fihenan'ny fahombiazana lehibe, dia ampy ny mamorona andiana fangatahana namboarina manokana avy amin'ny solosaina tokana sy mahazatra. Amin'ny tranga sasany, na dia fifandraisana TCP tokana aza dia ampy hanaovana fanafihana. Ankoatra izany, ny fifamoivoizana mifandraika amin'ny fanafihana dia tsy misongadina ao amin'ny logs avy amin'ny fangatahan'ny mpampiasa mahazatra.

Ny vulnerability dia vokatry ny fanodinana ny frame HEADERS sy CONTINUATION amin'ny fangatahana HTTP/2. Ny frame HEADERS dia ampiasaina amin'ny HTTP/2 mba handefasana lohapejy HTTP, ary ny frame CONTINUATION dia ampiasaina mba hizarana ny fandefasana ny lohapejy HTTP ho dingana maromaro (ohatra, rehefa tsy mifanaraka amin'ny frame iray ny lohapejy, na rehefa misy lohapejy azo fenoina. amin'ny dingana amin'izao fotoana izao dia tokony halefa aloha, ary avy eo dia avereno indray ny lohateniny izay tsy mbola voafaritra ny sandany). Rehefa mandefa lohapejy amin'ny dingana maro dia alefa aloha ny frame HEADERS tsy misy saina END_HEADERS, arahin'ny frame CONTINUATION maromaro misy lohapejy fanampiny, ary frame CONTINUATION misy saina END_HEADERS no mamarana ny lisitra.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π°Ρ‚Π°ΠΊΠΈ сводится ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Π½Π΅ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΊΠ°Π΄Ρ€ΠΎΠ² CONTINUATION Π±Π΅Π· выставлСния Ρ„Π»Π°Π³Π° END_HEADERS. Подобная Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π½Π° mpizara большого числа Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСрвСр сохраняСт Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° доступная процСссу ΠΏΠ°ΠΌΡΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ исчСрпана. Для создания высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU ΠΏΠΎΠΌΠΈΠΌΠΎ исчСрпания памяти Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ сТатиСм содСрТимого ΠΊΠ°Π΄Ρ€ΠΎΠ² CONTINUATION с использованиСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° HPACK, Ρ€Π°Π·Π±ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ вычислСний. Π’ рСализациях ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP/1.1 для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ затоплСния сСрвСра Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ примСнялся Π»ΠΈΠΌΠΈΡ‚ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ Π½Π° врСмя ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ соСдинСния. Для HTTP/2 Π² силу услоТнСния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ прСдусмотрСли ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ бСсконСчной ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ².

Ny vulnerability dia mampidi-doza indrindra ho an'ny mpampiasa ny Node.js (CVE-2024-27983), satria io fampiharana io dia mety hiteraka fianjerana amin'ny fandefasana sary vitsivitsy amin'ny mpizara. Noho ny fepetran'ny hazakazaka ao amin'ny Node.js, mba hahatonga ny fanafoanana amin'ny alΓ lan'ny fanamarinana Assert, dia ampy ny manajanona ny fifandraisana rehefa mandefa lohapejy tsy feno (midona raha mbola tsy tonga ny frame CONTINUATION miaraka amin'ny saina END_HEADERS rehefa mikatona ny fifandraisana. ). Ny vulnerability dia raikitra ao amin'ny Node.js 18.20.1, 21.7.2 ary 20.12.1, ary koa tamin'ny famoahana farany ny tranomboky llhttp sy undici. Ny dikan-teny vaovao an'ny Node.js koa dia manafoana ny vulnerability tsy dia mampidi-doza loatra (CVE-2024-27982) amin'ny kilasy "fanondranana an-tsokosoko", izay mamela, amin'ny alΓ lan'ny fanodikodinana ny sandan'ny "Halany votoaty", miditra amin'ny votoatin'ny fangatahana avy amin'ny mpampiasa hafa. nokarakaraina tao amin'ny kofehy mitovy eo anelanelan'ny frontend sy backend.

CONTINUATION mitantana ny vulnerability amin'ny fampiharana HTTP/2.0 hafa:

  • oghttp (CVE-2024-27919) - fanjifana fahatsiarovana tsy misy fetra.
  • Tempesta FW (CVE-2024-2758) - fameperana mandalo.
  • PHP library amphp/http, amphp/http-client ary amphp/http-server (CVE-2024-2653) - fanjifana fahatsiarovana tsy misy fetra, hatramin'ny faharerahana tanteraka ny fitadidiana misy.
  • Mandehana fonosana net/http (CVE-2023-45288) - mamorona enta-mavesatra CPU.
  • tranomboky nghttp2 (CVE-2024-28182) - fandavana ny serivisy.
  • Apache Httpd (CVE-2024-27316 - fanjifana fahatsiarovana be loatra sy enta-mavesatra CPU.
  • Apache Traffic Server (CVE-2024-31309 - fanjifana loharanon-karena be loatra.
  • Envoy (CVE-2024-30255) - mamorona enta-mavesatra amin'ny CPU (tokony 300Mbit/s dia takiana mba hamenoana tanteraka ny core CPU iray).

Source: opennet.ru

Mividiana fampiantranoana azo antoka ho an'ny tranokala misy fiarovana DDoS, mpizara VPS VDS πŸ”₯ Mividiana fampiantranoana tranonkala azo antoka miaraka amin'ny fiarovana DDoS, mpizara VPS VDS | ProHoster