RHSB-2023-003 HTTP/2 Rapid Reset (CVE-2023-44487 and CVE-2023-39325)

Public Date: October 16, 2023, 00:55
Mis à jour November 10, 2023, 08:46 - Chinese, Simplified Anglais Japanese Korean
Ongoing État
Important Impact

Red Hat est conscient d'une vulnérabilité de déni de service distribué (DDoS) affectant plusieurs implémentations de serveur HTTP/2, comportant les numéros CVE-2023-44487 et CVE-2023-39325, connue sous le nom d'« attaque à réinitialisation rapide » (Rapid Reset Attack en anglais). 

Ce problème enregistre un score CVSSv3 de 7,5 et est classé comme ayant un impact important sur la sécurité.

La Cybersecurity and Infrastructure Security Agency (CISA) des États-Unis a déclaré l’exploitation de cette vulnérabilité comme étant active. De plus, cette vulnérabilité est activement exploitée dans la nature depuis août 2023 d’après nos rapports.

Red Hat est en train d'établir les produits concernés et la liste actuelle des produits peut être consultée sur les pages CVE suivantes : CVE-2023-44487 et CVE-2023-39325.

De plus, tout produit Red Hat pris en charge sur Red Hat Enterprise Linux, y compris RHEL CoreOS, est également potentiellement impacté. Cela comprend :

  • Conteneurs de produits basés sur les images de conteneurs RHEL ou UBI. Ces images sont mises à jour régulièrement, y compris l'état du conteneur qui indique s'il existe un correctif pour cette faille, visible dans le Container Health Index, qui fait partie du Red Hat Container Catalog. De plus, tous les conteneurs clients doivent être reconstruits lorsque les images de base sont mises à jour.

  • Produits qui extraient des packages du canal RHEL, y compris des produits en couches tels que Red Hat OpenShift Container Platform, Red Hat OpenStack Platform, Red Hat Virtualization et autres. Veuillez vous assurer que le package RHEL concerné est à jour dans ces environnements de produits.

Le protocole HTTP/2 utilise une série de flux multiplexés pour établir la communication entre le client et le serveur, améliorant ainsi le débit de la communication.

CVE-2023-44487 et CVE-2023-39325 consistent en ce que l'attaquant crée un nombre important de flux et les annule ensuite chacun. Ce problème conduit le serveur à une pénurie de ressources, l'empêchant finalement de traiter toute autre demande valide. 

Les utilisateurs sont fortement invités à mettre à jour leur logiciel dès que des correctifs sont disponibles. 
Il existe plusieurs approches de mitigation de l’impact de cette faille.

Contrairement à HTTP/1.1, le protocole HTTP/2 utilise une série de flux de données pour établir la communication entre les clients et le serveur. Cela permet au client d'envoyer plusieurs requêtes au sein d'une seule connexion, qui peuvent ensuite être traitées de manière parallèle par le côté serveur. Une autre fonctionnalité de HTTP/2 est la possibilité de permettre au client d'annuler un flux précédemment envoyé en envoyant une trameRST_STREAM vers le serveur. Le client peut supposer que le flux a été annulé immédiatement après la réception de la trame RST_STREAM par le serveur.

Cette vulnérabilité exploite ces deux fonctionnalités en créant un grand nombre de flux au sein de la même connexion et en les annulant ensuite à l'aide de la trame RST_STREAM avant de recevoir une réponse à la requête initiale. Cela amène le serveur à décompresser et à interpréter toutes les trames envoyées, allouant une grande quantité de ressources, finissant par affamer le système. En exploitant ce comportement, l'attaquant évite de dépasser la limite maximale de connexions configurées sur le serveur tout en imposant une pénalité de performances significative au système ciblé.

Pour des raisons de performances et de consommation de ressources, NGINX limite le nombre de flux simultanés à 128 par défaut. Voir http2_max_concurrent_streams pour plus d'informations. De plus, pour équilibrer de manière optimale les performances du réseau et du serveur, NGINX permet au client de conserver les connexions HTTP jusqu'à 1 000 requêtes par défaut à l'aide d'un HTTP keepalive. Voir keepalive_requests pour plus d'informations.

Red Hat est en train d'établir les produits concernés et la liste actuelle des produits peut être consultée sur les pages CVE suivantes : CVE-2023-44487 et CVE-2023-39325.

Nous conseillons à tous les clients de Red Hat exécutant des versions de produits Red Hat affectés de procéder aux mises à jour dès que les correctifs sont disponibles.

Afin de connaître la version HTTP sur un serveur donné, curl peut signaler la version réelle du protocole HTTP d'un serveur donné. Utilisez le script ci-dessous. Par exemple, tester pour https://redhat.com 


$ curl -sl https://redhat.com -o/dev/null -w '%{http_version}\n'

1.1


Si vous devez tester un serveur hypothétique 172.16.8.3 via HTTPS, port 20346 :

$ curl -sl https://172.16.8.3:20346 -o/dev/null -w '%{http_version}\n'

2

Les systèmes qui renvoient 1.1 ou 1 ne sont pas vulnérables à ce CVE. Les systèmes qui renvoient la version 2 pourraient être affectés par cette vulnérabilité.​​​​​​​

https://www.cisa.gov/news-events/alerts/2023/10/10/http2-rapid-reset-vulnerability-cve-2023-44487

https://www.openwall.com/lists/oss-security/2023/10/10/6 

Comment utiliser le GPG pour vérifier le contenu signé de la Sécurité produits




Comments