Voortgesette vloedaanval wat probleme veroorsaak op bedieners wat HTTP/2.0 gebruik

Inligting is bekend gemaak oor die “Continuation Flood”-aanvalmetode wat verskeie implementerings van die HTTP/2-protokol beïnvloed, insluitend Apache httpd, Apache Traffic Server, Node.js, oghttp, Go net/http2, Envoy, oghttp en nghttp2. Die kwesbaarheid kan gebruik word om aanvalle uit te voer op bedieners wat HTTP/2.0 ondersteun en, afhangende van die implementering, lei dit tot geheue-uitputting (stop versoekverwerking of omvalprosesse) of skep 'n hoë SVE-lading (vertraging van versoekverwerking). Volgens die navorser wat die kwesbaarheid ontdek het, is die geïdentifiseerde probleem gevaarliker as die “Rapid Reset” kwesbaarheid wat verlede jaar gevind is, wat gebruik is om die grootste DDoS-aanvalle op daardie stadium uit te voer.

Die hoë vlak van gevaar word verklaar deur die feit dat om die werk te ontwrig bedienerOm 'n ineenstorting, of 'n beduidende prestasievermindering, te veroorsaak, is dit genoeg om 'n stroom spesiaal vervaardigde versoeke vanaf 'n enkele, gewone rekenaar te skep. In sekere gevalle is selfs 'n enkele TCP-verbinding genoeg om 'n aanval uit te voer. Boonop staan ​​aanvalverwante verkeer nie uit in logboeke van gewone gebruikersversoeke nie.

Die kwesbaarheid word veroorsaak deur die verwerking van HEADERS en CONTINUATION-rame in HTTP/2-versoeke. HEADERS-rame word in HTTP/2 gebruik om HTTP-opskrifte te stuur, en CONTINUATION-rame word gebruik om die stuur van HTTP-opskrifte in verskeie stadiums te verdeel (byvoorbeeld wanneer die opskrifte nie in een raam pas nie, of wanneer opskrifte wat ingevul kan word in die huidige stadium moet eers gestuur word, en dan weer opskrifte stuur waarvan die waardes nog nie bepaal kan word nie). Wanneer opskrifte in veelvuldige stadiums gestuur word, word 'n HEADERS-raam sonder die END_HEADERS-vlag eerste gestuur, gevolg deur verskeie CONTINUATION-rame met bykomende opskrifte, en 'n CONTINUATION-raam met die END_HEADERS-vlag eindig die lys.

Die aanvalmetode bestaan ​​uit die stuur van 'n deurlopende stroom van CONTINUATION-rame sonder om die END_HEADERS-vlag te stel. Hierdie aktiwiteit lei tot die oordrag van bediener 'n Groot aantal opskrifte wat die bediener in RAM stoor totdat die beskikbare geheue uitgeput is. Om 'n hoë SVE-las te skep, kan 'n aanvaller, benewens geheue-uitputting, die kompressie van CONTINUATION-rame benut deur die HPACK-formaat te gebruik, wat berekeningspoging vereis om te ontleed. In HTTP/1.1-implementerings is kopgroottelimiete en verbindingstyd-uit gebruik om teen kopoorstroming te beskerm. As gevolg van die verhoogde kompleksiteit van die protokol, het baie HTTP/2-implementerings nie sulke beskerming teen oneindige kopversending geïmplementeer nie.

Die kwesbaarheid is die gevaarlikste vir gebruikers van Node.js (CVE-2024-27983), aangesien hierdie implementering 'n ineenstorting kan veroorsaak deur net 'n paar rame na die bediener te stuur. As gevolg van wedrentoestande in Node.js, om 'n afbreking via 'n Assert-tjek te veroorsaak, is dit voldoende om verbindings te beëindig terwyl 'n onvolledige kopstroom gestuur word (crash as 'n CONTINUATION-raam met die END_HEADERS-vlag nog nie opgedaag het wanneer verbindings gesluit is nie ). Die kwesbaarheid is reggestel in Node.js 18.20.1, 21.7.2 en 20.12.1, sowel as in onlangse vrystellings van die llhttp- en undici-biblioteke. Nuwe weergawes van Node.js skakel ook 'n minder gevaarlike kwesbaarheid (CVE-2024-27982) van die "versoeksmokkel"-klas uit, wat dit moontlik maak om, deur manipulasie van die "Inhoudlengte"-waarde, in die inhoud van versoeke van ander gebruikers in te wig. verwerk in dieselfde draad tussen die voorkant en agterkant.

VOORTSETTING hantering van kwesbaarhede in ander HTTP/2.0 implementerings:

  • oghttp (CVE-2024-27919) - onbeperkte geheueverbruik.
  • Tempesta FW (CVE-2024-2758) - omseilbeperkings.
  • PHP-biblioteek amphp/http, amphp/http-kliënt en amphp/http-bediener (CVE-2024-2653) - onbeperkte geheueverbruik, tot die volledige uitputting van beskikbare geheue.
  • Gaan pakket net/http (CVE-2023-45288) - skep 'n hoë SVE-lading.
  • nghttp2-biblioteek (CVE-2024-28182) - ontkenning van diens.
  • Apache Httpd (CVE-2024-27316 - oormatige geheueverbruik en SVE-lading.
  • Apache Traffic Server (CVE-2024-31309 - oormatige hulpbronverbruik.
  • Envoy (CVE-2024-30255) - skep 'n hoë las op die SVE ('n 300Mbit/s-draad word benodig om een ​​SVE-kern volledig te laai).

Bron: opennet.ru

Koop betroubare hosting vir werwe met DDoS-beskerming, VPS VDS-bedieners 🔥 Koop betroubare webwerfhosting met DDoS-beskerming, VPS VDS-bedieners | ProHoster