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
