16/12/2024

Actu Cybersécurité

CONTINUATION Flood : une nouvelle vulnérabilité dans HTTP/2 expose les serveurs web à des attaques DoS

Un nouvel ensemble de vulnérabilités baptisé "CONTINUATION Flood" a été découvert dans le protocole HTTP/2 ! Dans certains cas, l'exploitation de ces vulnérabilités permet un déni de service sur le serveur web pris pour cible, à partir d'une seule connexion TCP. Voici ce qu'il faut savoir !

Le chercheur en sécurité Barket Nowotarski a fait la découverte des vulnérabilités "CONTINUATION Flood" présente dans HTTP/2, une version du protocole HTTP standardisée en 2015. S'il a choisi ce nom, ce n'est pas un hasard, car ces faiblesses sont liées à une mauvaise gestion des trames HTTP/2 CONTINUATION dans de nombreuses implémentations du protocole HTTP/2. Ces trames sont utilisées pour assembler le flux de données correspondant à différents blocs de messages du protocole HTTP/2, notamment pour l'en-tête.

Lorsque les données ne sont pas correctement limitées ou vérifiées, un attaquant peut exploiter ces vulnérabilités en envoyant des trames extrêmement longues, sans définir l'indicateur "END_HEADERS", ce qui va permettre d'épuiser les ressources du serveur cible et engendrer un déni de service. Dans certains cas, une seule connexion TCP en HTTP/2 peut suffire pour saturer le serveur en mémoire vive et le faire planter.

"Les implémentations sans timeout pour les en-têtes ne nécessitaient qu'une seule connexion HTTP/2 pour faire planter le serveur.", peut-on lire dans le rapport de Barket Nowotarski.

Par ailleurs, il est important de préciser que le protocole HTTP/2 est encore largement utilisé. "Selon Cloudflare Radar, le trafic HTTP/2 représente environ 60 % de l'ensemble du trafic HTTP humain (données excluant les robots)", précise Barket Nowotarski, avec un graphe à l'appui.

Source : nowotarski.info

CONTINUATION Flood, un ensemble de 9 failles de sécurité

Le CERT/CC a également publié un rapport au sujet de l'ensemble de vulnérabilités CONTINUATION Flood. Il référence 9 failles de sécurité correspondantes à cette faiblesse dans différentes implémentations : la bibliothèque nghttp2, AMPHP, Apache HTTP, Arista Networks, Red Hat, SUSE Linux, Node.js, Envoy (version 1.29.2 ou antérieure), ainsi que le langage de programmation Go.

À la fin de l'article du CERT/CC, il y a un tableau récapitulatif, et nous pouvons voir que le statut est actuellement inconnu pour plusieurs dizaines d'implémentations. Voici un extrait :

Source : CERT/CC

Les CVE suivantes sont associées à CONTINUATION Flood : CVE-2024-27983, CVE-2024-27919, CVE-2024-2758, CVE-2024-2653, CVE-2023-45288, CVE-2024-28182, CVE-2024-27316, CVE-2024-31309, CVE-2024-30255.

Si vous utilisez Apache2, sachez que la vulnérabilité CVE-2024-27316, correspondante à CONTINUATION Flood, a été corrigée dans Apache 2.4.59 publiée ce jeudi 4 avril 2024 (voir cette page).

Ceci n'est pas sans rappeler la faille de sécurité "Rapid Reset" présente dans le protocole HTTP/2 et révélée en octobre 2023. À l'époque, elle avait permis de déclencher des attaques DDoS records !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.