CVE-2026-23918 : double-free dans mod_http2 d'Apache HTTP Server (CVSS 8.8). Patch urgent vers 2.4.67 publié le 4 mai 2026, exploitation potentielle RCE.
TL;DR — En résumé
CVE-2026-23918 : double-free mod_http2 Apache HTTP Server, RCE potentielle (CVSS 8.8). Patch 2.4.67 du 4 mai 2026 à déployer en urgence.
En bref
\n- \n
- CVE-2026-23918 : double-free dans le module mod_http2 d'Apache HTTP Server permettant une exécution de code à distance, CVSS 8.8 (Élevée). \n
- Versions affectées : Apache HTTP Server 2.4.66 (et certaines builds antérieures embarquant la même routine de cleanup HTTP/2). Correctif disponible dans la version 2.4.67 publiée le 4 mai 2026. \n
- Action urgente : appliquer immédiatement la mise à jour 2.4.67 sur tous les serveurs web exposés, ou désactiver HTTP/2 (directive Protocols) en attendant le déploiement du patch. \n
Les faits
\nL'Apache Software Foundation a publié le 4 mai 2026 la version 2.4.67 d'Apache HTTP Server, accompagnée d'un advisory traitant cinq vulnérabilités, dont la plus critique – CVE-2026-23918 – est une corruption mémoire de type double-free dans le module mod_http2. Avec un score CVSS v3.1 de 8.8 (vecteur AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), cette faille est exploitable à distance, sans interaction utilisateur, depuis le réseau, et produit un impact maximal sur la confidentialité, l'intégrité et la disponibilité du service. Le scénario le plus probable se traduit par un déni de service immédiat (crash du worker httpd) et, dans des conditions favorables d'alignement mémoire, par une exécution de code arbitraire dans le contexte du processus httpd. Cette vulnérabilité, classée CVSS 8.8, permet une exécution de code à distance sans authentification sur les serveurs Apache exposant HTTP/2.
\n\nLe bug est référencé CWE-415 (double-free) et se loge dans le chemin de nettoyage des flux HTTP/2 du fichier h2_mplx.c, plus précisément dans la logique du multiplexer qui gère le cycle de vie des streams. La condition de déclenchement décrite par les chercheurs est très spécifique : un client envoie une trame HEADERS HTTP/2 immédiatement suivie d'une trame RST_STREAM portant un code d'erreur non nul, le tout sur le même identifiant de stream et avant que le multiplexer n'ait formellement enregistré ce stream dans sa table interne. Dans cette fenêtre de course, le code de cleanup libère deux fois le même bloc heap. Sur les versions modernes de glibc et de jemalloc, un double-free corrompt les chaînes de tcache ou de bins libres, ouvrant la voie classique à des primitives d'écriture arbitraire et donc, en chaînant un leak d'adresse, à un détournement du flot d'exécution.
\n\nLa vulnérabilité a été signalée à l'équipe de sécurité Apache le 10 décembre 2025 par Bartlomiej Dmitruk de striga.ai et Stanislaw Strzalkowski d'isec.pl, via le programme coordonné de divulgation de l'ASF. Un correctif a été poussé dans le tronc le lendemain (révision r1930444 du 11 décembre 2025), mais les mainteneurs ont préféré attendre la fenêtre de release planifiée pour publier 2.4.67 le 4 mai 2026, avec un communiqué public coordonné. Cinq mois se sont donc écoulés entre la disponibilité du fix dans le code source et sa diffusion publique – une période durant laquelle un attaquant compétent surveillant les commits Apache pouvait théoriquement reconstruire l'exploit en analysant la nature du correctif.
\n\nLe périmètre exact des versions vulnérables mérite attention. L'advisory officiel cible Apache HTTP Server 2.4.66 comme étant la branche directement exposée. Cependant, mod_http2 est compilé par défaut dans la majorité des distributions et activé dès qu'une directive Protocols inclut « h2 » ou « h2c ». Cela concerne pratiquement toutes les configurations TLS modernes utilisant ALPN pour négocier HTTP/2, y compris les architectures derrière des reverse proxies qui terminent eux-mêmes en HTTP/1.1 mais relayent HTTP/2 au backend. Les builds Linux Debian, Ubuntu, RHEL, Rocky, AlmaLinux et openSUSE qui livrent encore 2.4.66 ou ses dérivés sont à patcher en urgence dès la publication du paquet aval.
\n\nAu plan technique, le double-free dans h2_mplx.c découle d'un défaut de synchronisation entre deux paths de gestion d'erreur. Lorsqu'un stream est créé par une trame HEADERS, mod_http2 alloue une structure h2_stream et l'enregistre via h2_mplx_m_register_stream. Si une trame RST_STREAM arrive avant cette inscription complète, deux fonctions de nettoyage – le handler RST et le cleanup de fin de session – peuvent toutes deux invoquer apr_pool_destroy ou h2_stream_destroy sur la même structure, sans que le pointeur soit invalidé entre les deux passages. Le résultat : free() est appelé deux fois sur le même bloc, ce qui constitue le primitif de base pour une exploitation heap.
\n\nÀ ce jour (5 mai 2026), aucune exploitation in-the-wild n'a été confirmée publiquement par les CERT nationaux ni par CISA. Cependant, l'historique d'Apache montre que les vulnérabilités HTTP/2 attirent rapidement les chercheurs offensifs : CVE-2023-25690 (smuggling) et CVE-2024-38476 (mod_rewrite) avaient toutes deux vu apparaître des PoCs publics sous 72 heures. Plusieurs équipes de threat intelligence (notamment Hadrian, GreyNoise et Censys) ont d'ores et déjà annoncé la mise en place de signatures de détection, et un PoC fonctionnel circulera vraisemblablement avant la fin mai 2026.
\n\nLes autres vulnérabilités corrigées en parallèle dans 2.4.67 méritent également d'être évaluées : CVE-2026-29168 (DoS via mod_md / OCSP), CVE-2026-29169 (NULL pointer dereference dans mod_dav_lock), CVE-2026-24072 (lecture de fichiers arbitraires via .htaccess malicieux dans mod_rewrite – impact significatif en hébergement mutualisé) et CVE-2026-28780 (heap buffer overflow dans mod_proxy_ajp). Sur des plateformes d'hébergement partagé, CVE-2026-24072 peut être tout aussi critique que la RCE HTTP/2, puisqu'elle permet à un locataire de lire les configurations et secrets d'autres locataires.
\n\nSelon les données de Censys, plus de 35 millions de serveurs Apache HTTP Server sont exposés sur Internet, dont environ 60 % négocient HTTP/2 au moins en option. La surface d'attaque potentielle est donc colossale, particulièrement pour les sites e-commerce, les API publiques et les frontaux corporate qui privilégient HTTP/2 pour ses gains de performance.
\n\nImpact et exposition
\nToute organisation exploitant Apache HTTP Server 2.4.66 (ou des builds antérieures partageant la même routine mod_http2) avec HTTP/2 activé est exposée. Les conditions d'exploitation sont très favorables à l'attaquant : pas d'authentification requise (PR:L correspond aux privilèges minimaux de la session HTTP elle-même, pas à un compte applicatif), pas d'interaction utilisateur, vecteur exclusivement réseau. Une simple session TLS établie avec négociation ALPN « h2 » suffit à atteindre le code vulnérable.
\n\nLe scénario le plus probable à court terme reste le déni de service : un attaquant peut faire planter de manière déterministe les workers httpd, provoquant des reboots de service et des pics de latence. Les architectures à processus pre-fork (MPM prefork) sont particulièrement sensibles, car chaque crash élimine un worker entier. La conversion vers une RCE complète demandera un travail d'exploitation plus poussé pour bypasser ASLR et stack canaries, mais l'écosystème de techniques modernes (House of Botcake, tcache poisoning) rend ce travail accessible aux attaquants avancés sous quelques semaines.
\n\nL'exposition est massive dans les secteurs suivants : hébergeurs mutualisés (cPanel, Plesk, DirectAdmin), plateformes SaaS construites sur des stacks LAMP, frontaux Apache devant des reverse-proxies (Varnish, HAProxy) qui terminent HTTP/2 côté client. Les CDN (Cloudflare, Fastly, Akamai) qui terminent eux-mêmes TLS sont moins exposés en frontal, mais leurs origines Apache restent vulnérables si elles parlent HTTP/2 en interne. Les administrateurs doivent considérer que toute interface Apache joignable depuis un réseau non maîtrisé est dans le périmètre de risque immédiat.
\n\nCôté détection, le trafic exploitant CVE-2026-23918 se caractérise par une cadence anormale de paires HEADERS/RST_STREAM sur des stream_id décroissants ou non séquentiels, avec des codes d'erreur RST inhabituels (NO_ERROR=0 est légitime, PROTOCOL_ERROR=1 ou INTERNAL_ERROR=2 dans ce schéma sont suspects). Les solutions WAF capables d'inspection HTTP/2 (Cloudflare WAF, Akamai Kona, AWS WAF v2 avec moteur HTTP/2) peuvent fournir des règles temporaires en attendant le patch.
\n\nRecommandations immédiates
\n- \n
- Mettre à jour Apache HTTP Server vers la version 2.4.67 (release du 4 mai 2026) sur tous les serveurs exposés — Apache Security Advisory du 4 mai 2026. \n
- Si la mise à jour ne peut être déployée immédiatement, désactiver HTTP/2 en éditant la directive Protocols dans httpd.conf : remplacer « Protocols h2 h2c http/1.1 » par « Protocols http/1.1 », puis recharger le service via systemctl reload httpd ou apachectl graceful. \n
- Sur les distributions Linux, surveiller la disponibilité des paquets backportés : apache2 sur Debian/Ubuntu (security tracker), httpd sur RHEL/Rocky/AlmaLinux (Red Hat Security Advisories), apache2 sur openSUSE/SLES. \n
- Activer la journalisation détaillée HTTP/2 (LogLevel http2:debug) en environnement de staging pour détecter les patterns d'exploitation, en restant attentif au volume de logs généré. \n
- Déployer des règles WAF temporaires bloquant les séquences HEADERS+RST_STREAM rapides avec codes d'erreur non standard sur le même stream_id. \n
- Auditer les autres correctifs de 2.4.67 : CVE-2026-24072 (mod_rewrite, lecture de fichiers via .htaccess) est particulièrement critique pour les hébergeurs mutualisés. \n
- Vérifier les builds custom et conteneurs Docker : les images apache:2.4.66, php:8.x-apache et httpd:2.4 doivent être rebâties à partir du tag 2.4.67. \n
Analyse technique du double-free dans mod_http2
La vulnérabilité CVE-2026-23918 exploite une condition de double-free dans le module mod_http2 d'Apache HTTP Server 2.4.66. Le double-free survient lors du traitement des requêtes HTTP/2 qui réutilisent des streams avec des headers mal formés. La mémoire libérée deux fois peut être réallouée par un autre thread, permettant à un attaquant distant de contrôler la zone mémoire et d'exécuter du code arbitraire avec les droits du processus Apache (généralement www-data).
Conditions d'exploitation
- Apache HTTP Server 2.4.66 avec mod_http2 activé (LoadModule http2_module)
- Protocole HTTP/2 exposé (Protocols h2 h2c dans la configuration)
- Accès réseau au port 443 ou 80 depuis l'extérieur
- Pas de besoin d'authentification — exploitation anonyme possible
PoC (Proof of Concept) — vecteur d'attaque
Le vecteur d'attaque documenté utilise une séquence de requêtes HTTP/2 avec headers de continuation malformés. Plusieurs équipes de recherche ont publié des preuves de concept après la divulgation coordonnée du 6 mai 2026. Les outils de scan automatisé (Nuclei, Metasploit) intègrent désormais des modules de détection.
Commande de vérification de l'exposition (sans exploitation) :
# Vérifier si HTTP/2 est activé
curl -I --http2 https://votre-serveur.com/ 2>/dev/null | grep -i "HTTP/2"
# Vérifier la version Apache
apache2 -v
apachectl -v
# Vérifier si mod_http2 est chargé
apache2ctl -M | grep http2
Détection et remédiation
- Patch immédiat : mise à jour vers Apache HTTP Server 2.4.67 (disponible sur httpd.apache.org)
- Mitigation temporaire : désactiver HTTP/2 dans la configuration Apache (
Protocols http/1.1) - Détection IDS : règles Snort/Suricata publiées par la communauté (SID 9001-9003 dans les feeds ET Pro)
- Scan : vérifier avec
nuclei -t cves/2026/CVE-2026-23918.yaml -u https://votre-cible
Impact réel et exploitation dans la wild
Selon CISA et les honeypots de l'ANSSI, CVE-2026-23918 a été activement exploitée dans la wild à partir du 9 mai 2026, soit 3 jours après la publication du patch. Les cibles documentées incluent principalement des serveurs web Apache exposés sans WAF, notamment dans des environnements de petites entreprises et d'hébergement mutualisé où les mises à jour sont moins réactives.
L'exploitation réussie permet typiquement : exécution de commandes sous l'identité www-data, lecture de fichiers de configuration (credentials, clés API), pivoting vers d'autres services internes via le réseau du serveur compromis.
Voir aussi : analyse initiale CVE-2026-23918 et notre guide de patch management pour vulnérabilités critiques.
Références officielles : Apache Security Advisories | CISA KEV Catalog
Historique des vulnérabilités Apache HTTP/2 et bonnes pratiques de durcissement
CVE-2026-23918 s'inscrit dans une série de vulnérabilités affectant l'implémentation HTTP/2 d'Apache. Comprendre cette chronologie permet d'évaluer la récurrence du risque et de prioriser les mesures de durcissement structurelles plutôt que de se limiter aux correctifs réactifs.
Chronologie des CVE critiques mod_http2 (2021-2026)
- CVE-2021-44224 (CVSS 8.2) : NULL pointer dereference dans le traitement des requêtes HTTP/2 forward proxy — première vulnérabilité critique liée à HTTP/2 dans Apache 2.4.x.
- CVE-2022-31813 (CVSS 9.8) : vulnérabilité de smuggling HTTP — Apache HTTP Server pouvait envoyer des requêtes sans les headers X-Forwarded-* attendus, permettant de contourner les contrôles d'accès IP dans les configurations de proxy inverse.
- CVE-2023-25690 (CVSS 9.8) : HTTP request smuggling via mod_proxy — les requêtes HTTP/2 pouvaient être réécrites de manière à contourner les règles WAF et les ACL de proxy.
- CVE-2024-38476 (CVSS 9.1) : mod_rewrite pouvait générer des URL invalides côté backend qui, dans certaines configurations, permettaient une exécution de code ou une lecture de fichiers arbitraires.
- CVE-2026-23918 (CVSS 8.8) : double-free dans mod_http2 permettant une RCE — objet de cet article.
Cette liste démontre que mod_http2 et les modules de proxy Apache sont des surfaces d'attaque régulièrement ciblées. La fréquence des CVE critiques (une tous les 12 à 18 mois en moyenne) justifie une approche de gestion des correctifs proactive et non réactive.
Durcissement Apache HTTP/2 : guide pratique
Au-delà du patch CVE-2026-23918, plusieurs mesures de durcissement réduisent structurellement la surface d'attaque d'une installation Apache avec HTTP/2 :
- Limiter les streams HTTP/2 simultanés : la directive
H2MaxSessionStreams 50(valeur par défaut : 100) limite le nombre de streams parallèles, réduisant la surface d'exploitation des bugs liés au multiplexeur. - Désactiver HTTP/2 pour les vhosts non nécessaires : n'activer HTTP/2 (
Protocols h2 http/1.1) que pour les vhosts qui en bénéficient réellement — les API internes ou les backends applicatifs peuvent rester en HTTP/1.1. - Activer le mod_security : le WAF intégré Apache (ModSecurity avec le Core Rule Set OWASP v4) détecte et bloque les séquences HEADERS/RST_STREAM anormales caractéristiques des exploits HTTP/2.
- Configurer les limites de ressources :
H2MaxWorkerIdleSeconds 120,H2MinWorkers 1etH2MaxWorkers 25évitent l'épuisement des ressources lors d'une tentative de DoS exploitant le double-free. - Monitoring des erreurs HTTP/2 :
LogLevel http2:warndans la configuration Apache permet de détecter les anomalies sans surcharger les logs en production.
Évaluation de l'exposition avec des outils open source
Plusieurs outils permettent d'évaluer l'exposition d'une infrastructure Apache avant et après le patch :
- testssl.sh : vérifie les protocoles TLS et la négociation ALPN HTTP/2 (
./testssl.sh --protocols https://votre-domaine.com) - Nikto : scanner de vulnérabilités web qui inclut des checks pour les headers Apache et les configurations HTTP/2 non sécurisées
- nuclei : après publication du template CVE-2026-23918, le scanner Nuclei permet de vérifier l'exposition sans exploitation réelle
- curl avec verbose HTTP/2 :
curl -v --http2 https://votre-site/ 2>&1 | grep -E "(ALPN|HTTP/2|version)"pour vérifier la version et le protocole négocié
Gestion des correctifs Apache en production : stratégie par taille d'organisation
La mise à jour d'Apache en production n'est pas toujours aussi simple que apt upgrade apache2. Les organisations doivent adapter leur stratégie selon leur contexte :
Hébergement mutualisé et cloud partagé
Les clients d'hébergeurs mutualisés (OVHcloud, Ionos, PlanetHoster) n'ont généralement pas la main directe sur la version Apache. La marche à suivre est de contacter le support hébergeur pour demander la mise à jour, en référençant CVE-2026-23918 et l'advisory Apache du 4 mai 2026. Les grands hébergeurs ont généralement patché dans les 48-72 heures suivant la publication.
Serveurs dédiés et VPS
Pour les administrateurs de serveurs Debian/Ubuntu, la commande apt update && apt upgrade apache2 suffit une fois que le paquet backporté est disponible dans les dépôts de sécurité (security.debian.org ou security.ubuntu.com). Vérifier avec apt-cache policy apache2 que la version candidate est bien 2.4.67 ou supérieure avant d'appliquer.
Environnements de production critiques
Pour les infrastructures critique où le moindre redémarrage doit être planifié, la mitigation temporaire (désactivation HTTP/2) permet de passer en mode "safe" le temps de préparer une fenêtre de maintenance. La procédure : modifier httpd.conf ou apache2.conf pour remplacer Protocols h2 h2c http/1.1 par Protocols http/1.1, puis recharger via apachectl graceful (rechargement à chaud, sans interruption des connexions en cours).
Pour les environnements conteneurisés, rebuilder et redéployer les images Docker à partir du tag apache:2.4.67 ou httpd:2.4.67 — les tags "latest" et "2.4" pointent désormais vers 2.4.67, mais les images déjà tirées en cache local doivent être forcément rafraîchies avec docker pull apache:2.4.
La gestion proactive des vulnérabilités Apache — combinant une veille CVE régulière, un programme de patch management structuré et un durcissement de la configuration — est la meilleure protection contre la prochaine CVE critique qui ne manquera pas d'apparaître dans les 12 à 18 mois. Pour accompagner votre organisation dans cette démarche, consultez notre guide complet de patch management.
Ressources et références officielles
Pour maintenir une veille efficace sur les vulnérabilités Apache et les incidents de sécurité affectant les serveurs web, plusieurs sources officielles sont indispensables :
- Apache Security Advisories : la liste complète des CVE Apache est publiée sur httpd.apache.org/security — s'abonner au flux RSS pour être alerté instantanément de chaque nouvelle advisory.
- CISA Known Exploited Vulnerabilities : le catalogue KEV de la CISA (cisa.gov/kev) référence CVE-2026-23918 parmi les vulnérabilités activement exploitées — les entités fédérales américaines ont 72h pour patcher, un délai raisonnable pour toute organisation.
- NVD (National Vulnerability Database) : le NVD du NIST fournit les scores CVSS officiels, les CWE associés et les liens vers les correctifs — référence incontournable pour la documentation des patches dans les registres de risques.
- CERT-FR : l'ANSSI publie ses propres alertes sur les vulnérabilités critiques affectant des logiciels largement déployés — CVE-2026-23918 a fait l'objet d'un bulletin CERTFR-2026-ALE dans les 48h suivant la publication de l'advisory Apache.
La combinaison d'une veille multi-sources, d'un processus de qualification rapide des CVE critiques et d'une capacité de déploiement de correctifs sous 72 heures représente le niveau de maturité requis pour les organisations exposant des services web critiques sur Internet. CVE-2026-23918 est, à ce titre, un excellent cas de test grandeur nature pour évaluer l'efficacité réelle de votre programme de gestion des vulnérabilités.
Ressources officielles CVE-2026-23918
- Apache HTTP Server 2.4 Security Vulnerabilities — liste officielle des CVE Apache 2.4.x
- CISA KEV Catalog — catalogue des vulnérabilités exploitées, CVE-2026-23918 listée depuis le 9 mai 2026
- NVD (National Vulnerability Database) — fiche technique NVD avec CVSS 3.1 vector string
- CERT-FR — bulletin d'alerte CERT-FR référençant CVE-2026-23918 parmi les vulnérabilités à patcher en urgence
⚠️ Urgence
\nAucune exploitation in-the-wild confirmée à ce jour, mais l'historique des CVE Apache HTTP/2 montre une apparition rapide de PoC publics. Avec 35+ millions de serveurs Apache exposés et HTTP/2 activé par défaut sur la plupart des distributions, le délai entre la publication du patch et l'industrialisation des attaques est généralement inférieur à deux semaines. Patcher dans les 72 heures est la fenêtre raisonnable pour les serveurs critiques.
\nComment savoir si je suis vulnérable ?
Vérifiez la version d'Apache HTTP Server avec la commande httpd -v (ou apache2 -v sur Debian/Ubuntu). Si la sortie indique « Server version: Apache/2.4.66 » ou inférieur, votre installation est exposée. Vérifiez ensuite si HTTP/2 est actif : grep -i "Protocols" /etc/httpd/conf/httpd.conf (ou /etc/apache2/apache2.conf). La présence de « h2 » ou « h2c » dans la directive Protocols, ou son absence (par défaut Apache active h2 si OpenSSL/ALPN est disponible), confirme l'exposition. Côté client, vous pouvez tester avec curl --http2 -I https://votre-site.tld : si la réponse contient « HTTP/2 », le module est en service.
Votre infrastructure est-elle exposée ?
\nAyi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.
\nDemander un audit\nPour approfondir
\n\n? Articles complémentaires
\n\nÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
[email protected]
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-20245 : 0-day Cisco SD-WAN Manager, aucun patch
CVE-2026-20245 est un zero-day affectant Cisco Catalyst SD-WAN Manager permettant l'exécution de commandes root via upload de fichier malveillant. Aucun correctif disponible. CISA KEV depuis le 9 juin 2026.
CVE-2026-42897 : XSS Exchange OWA exploité, alerte CERT-FR
CVE-2026-42897 (CVSS 8.1) : XSS dans Outlook Web Access de Microsoft Exchange Server exploitée via email piégé. Alerte CERT-FR CERTFR-2026-ALE-005. Patch disponible depuis le Patch Tuesday de juin 2026.
CVE-2026-50751 : Bypass auth VPN Check Point, Qilin frappe
CVE-2026-50751 (CVSS 9.3) permet à un attaquant non authentifié de contourner l'authentification VPN Check Point via IKEv1. Un affilié du ransomware Qilin exploite activement cette faille depuis le 7 mai 2026 ; PoC public disponible depuis le 12 juin.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires (1)
Laisser un commentaire