De récentes failles de sécurité, connues sous le nom de « CONTINUATION Flood », ont été identifiées dans le protocole HTTP/2. Ces vulnérabilités peuvent provoquer des attaques par déni de service (DoS), causant l'arrêt des serveurs web via une unique connexion TCP dans certaines configurations.
HTTP/2, une évolution du protocole HTTP standardisé en 2015, a été élaborée pour optimiser les performances web. Il introduit un formatage binaire pour une transmission de données plus efficace, un multiplexage pour autoriser plusieurs requêtes et réponses sur une seule connexion, et une compression d'en-tête pour minimiser les coûts.
Mais des failles de sécurité récemment découvertes, appelées « CONTINUATION Flood », ont été mises en évidence par le chercheur Barket Nowotarski, du site spécialisé en sécurité nowotarski.info. Ces failles sont associées à l'usage des trames HTTP/2 CONTINUATION, qui ne sont pas correctement contrôlées ou limitées dans de nombreuses implémentations du protocole. Mais en quoi ces failles sont-elles dangereuses ?
Le protocole d'attaque via les failles CONTINUATION Flood
Les messages HTTP/2 comprennent des sections d'en-tête et de fin montées en séries par blocs. Ces blocs peuvent être fragmentés sur plusieurs trames pour la transmission, et les trames CONTINUATION sont utilisées pour reconstituer le flux.
Seulement voilà, l'absence de contrôles de trames adéquats dans de nombreuses implémentations permet aux hackers d'envoyer potentiellement une séquence de trames extrêmement longue en omettant simplement de définir l'indicateur END_HEADERS.
« Les implémentations sans délai d'attente d'en-tête ne nécessitaient qu'une seule connexion HTTP/2 pour faire planter le serveur », prévient le chercheur, qui ajoute qu'« Étant donné que Cloudflare Radar estime les données de trafic HTTP supérieures à 70 % de tous les transferts Internet et l'importance des projets concernés, je pense que nous pouvons supposer qu'une grande partie d'Internet a été affectée par une vulnérabilité facile à exploiter : dans de nombreux cas, une seule connexion TCP était suffisante pour faire planter le serveur ».
Cette technique entraîne des arrêts de serveur dus à des pannes de mémoire insuffisante ou à l'épuisement des ressources du processeur lors du traitement de ces trames.
Une mise à niveau en guise de protection en attendant les correctifs
Une alerte publiée ce jeudi 4 avril 2024 par le Centre de coordination du CERT (CERT-CC) liste plusieurs identifiants CVE correspondant à différentes implémentations HTTP/2 vulnérables à ces attaques. Ces implémentations permettent différents niveaux d'attaques par déni de service, y compris des fuites de mémoire, une consommation de mémoire et une surcharge du processeur.
Selon le CERT-CC, les fournisseurs et les bibliothèques HTTP/2 qui ont confirmé être concernés par au moins un des CVE listés incluent Red Hat, SUSE Linux, Arista Networks, le projet Apache HTTP Server, nghttp2, Node.js, AMPHP et le langage de programmation Go. Barket Nowotarski soutient que le problème est plus sérieux que l'attaque « HTTP/2 Rapid Reset » révélée en octobre dernier par les principaux fournisseurs de services cloud, et qui est activement exploitée depuis août 2023.
De plus, le chercheur avertit que le problème serait complexe à débuguer et à atténuer pour les administrateurs de serveurs sans connaissances appropriées en HTTP/2. En effet, les requêtes malveillantes ne seraient pas visibles dans les journaux d’accès si l’analyse avancée des trames n’était pas activée sur le serveur, ce qui n’est pas le cas dans la plupart des configurations.
Une mise à niveau urgente est vitale, avant que les vulnérabilités ne soient exploitées par les hackers.
30 octobre 2024 à 11h48