Apr 08, 2024 Attacchi, In evidenza, Minacce, News, RSS
Una nuova ricerca del Software Engineering Institute della Carnegie Mellon University ha evidenziato una classe di vulnerabilità in HTTP/2 che consente a un attaccante di eseguire attacchi DoS.
Il protocollo segmenta i messaggi delle comunicazioni in blocchi che vengono trasmessi in più frammenti; per specificare la continuazione di una sequenza, HTTP/2 sfrutta i frame identificati come CONTINUATION. La vulnerabilità identificata nel protocollo non limita il numero di frame CONTINUATION che si possono inviare in un singolo stream di messaggi; un attaccante può sfruttare il bug per continuare a inviare messaggi, provocare un crash out-of-memory e lanciare un attacco DoS contro il server.
In aggiunta, un attaccante può inviare frame CONTINUATION con compressione HPACK per provocare un esaurimento di risorse CPU e causare un’interruzione di servizio.
La tecnica, chiamata “HTTP/2 CONTINUATION Flood” da Bartker Nowotarski, il ricercatore che per primo ha individuato il problema, colpisce numerose versioni vulnerabili del protocollo e sfrutta altrettante CVE. Questa tecnica è particolarmente pericolosa perché è sufficiente una sola macchina per causare un attacco DoS: “una sola macchina (e, in alcuni casi, una singola connessione TCP o una manciata di frame) ha il potenziale di interrompere la disponibilità di un server, con conseguenze che vanno dal crash delle macchine alla riduzione sostanziale delle performance” ha spiegato Nowotarski.
Il bug impatta amphp/http, i pacchetti net/http e net/http2 di GoLang, le implementazioni che usano la libreria nghttp2, lo stack HTTP/2 presente nelle versioni di Envoy 1.29.2 e precedenti, nel codec oghttp di Envoy, nel server di Node.js e nei server Apache Traffic.
I ricercatori hanno invitato gli utenti ad aggiornare il prima possibile i software e le librerie vulnerabili per proteggersi da questa tecnica e ridurre il rischio di attacchi. Considerando che, come riporta Nowotarski, il traffico HTTP/2 rappresenta il 60% di tutto il traffico HTTP umano, questa classe di vulnerabilità mette a serio rischio la sicurezza sul web.