Une vulnérabilité heap overflow vieille de 18 ans dans le module rewrite de NGINX expose tous les serveurs non patchés à une exécution de code à distance non authentifiée.
En bref
- Une faille heap-based buffer overflow de 18 ans dans le module ngx_http_rewrite_module de NGINX, baptisée NGINX Rift et indexée CVE-2026-42945, autorise l'exécution de code à distance sans authentification (CVSS v4 9.2).
- Tous les serveurs NGINX Open Source antérieurs à 1.30.1/1.31.0 et NGINX Plus sous R32 P6 ou R36 P4 sont vulnérables dès qu'une directive rewrite combine une capture PCRE non nommée, un point d'interrogation et une seconde directive dans la même portée.
- Un proof-of-concept fonctionnel publié par les chercheurs de depthfirst démontre l'exécution de code en environnement ASLR désactivé : les équipes opérationnelles doivent patcher en urgence ou désactiver les règles rewrite concernées.
NGINX Rift : une vulnérabilité dormante depuis 2008
La fondation F5 a publié, le 14 mai 2026, un correctif critique pour NGINX et NGINX Plus, accompagnant la divulgation coordonnée d'une vulnérabilité présente dans le code source depuis 2008. Identifiée par les chercheurs de depthfirst et baptisée NGINX Rift, la faille porte la référence CVE-2026-42945 et reçoit un score CVSS v4 de 9.2 sur 10, plaçant la vulnérabilité dans la catégorie critique. Elle affecte le module de réécriture ngx_http_rewrite_module, un composant central du serveur web le plus déployé au monde, présent par défaut dans la quasi-totalité des distributions Linux et utilisé par environ un tiers du trafic web mondial.
Le bug réside dans la logique d'échappement appliquée aux URI lors d'opérations de rewrite. Selon le rapport publié par depthfirst, NGINX calcule la longueur du buffer de destination en partant d'un jeu d'hypothèses, puis copie les données sous une autre logique, ce qui crée un écart exploitable. Plus précisément, les octets dérivés de l'URI contrôlée par l'attaquant peuvent dépasser la zone de heap allouée au worker process. Selon l'analyse, la condition de déclenchement combine trois éléments précis : la présence d'une capture PCRE non nommée (de type $1, $2…) dans une directive rewrite, l'inclusion d'un point d'interrogation dans la chaîne de remplacement, et l'existence d'une seconde directive rewrite, if ou set dans la même portée.
Cette configuration n'a rien d'exotique. Elle correspond à des cas d'usage très courants : réécriture d'URL pour le SEO, routage conditionnel vers un backend applicatif, transformation des paramètres GET ou intégration avec des frameworks comme WordPress, Magento ou Symfony. Les chercheurs estiment qu'une part significative des serveurs NGINX en production embarquent un tel motif sans le savoir, en particulier les déploiements hérités où les fichiers de configuration ont été composés au fil des années par des équipes successives.
L'exploitation se fait sans authentification, par simple requête HTTP/HTTPS forgée envoyée à un endpoint vulnérable. Selon le proof-of-concept publié sur le compte GitHub depthfirstdisclosures, l'attaquant peut, dans un premier temps, déclencher un crash répété du worker process, ce qui se traduit par un déni de service local du site. Mais l'étude technique va plus loin : lorsque l'ASLR (Address Space Layout Randomization) est désactivé, ce qui reste fréquent dans des appliances embarquées, des conteneurs minimalistes ou des environnements de test mal configurés, l'overflow permet de surcharger des pointeurs dans la heap et d'orienter l'exécution vers du shellcode. Dans ce scénario, l'attaquant obtient une exécution de code complète dans le contexte du worker NGINX, sans aucune authentification préalable.
La chronologie de la divulgation montre une coordination plutôt soignée. Selon les notes publiées par F5, depthfirst a notifié l'éditeur fin février 2026. Quatre cycles de validation interne se sont enchaînés avant la publication des versions correctives le 14 mai. NGINX Open Source 1.30.1 corrige la branche stable, tandis que 1.31.0 contient le correctif sur la branche mainline. Pour NGINX Plus, les éditions de patch R32 P6 et R36 P4 sont disponibles depuis le même jour. F5 recommande aux clients sous contrat de procéder à la mise à jour dans les 48 heures.
Plusieurs CERT, dont le CERT-FR, ont relayé l'avis dans la journée du 14 mai, avec un niveau d'alerte rehaussé. Le centre américain CISA a, de son côté, indiqué surveiller activement les premiers signes d'exploitation en environnement de production. Aucun cas d'exploitation in-the-wild n'a, pour l'instant, été confirmé publiquement, mais la disponibilité immédiate d'un PoC sur GitHub change la donne. Comme l'a souligné Broadcom dans un billet de blog Tanzu publié dans la foulée, la fenêtre entre la disclosure et l'apparition de scans massifs s'est historiquement réduite à moins de 24 heures pour ce type de vulnérabilité non authentifiée.
Pour les équipes qui ne peuvent pas patcher immédiatement, les chercheurs recommandent plusieurs mesures palliatives. La plus efficace consiste à auditer l'ensemble des fichiers de configuration NGINX pour identifier les blocs rewrite combinant capture non nommée et caractère ?, puis à les remplacer temporairement par des captures nommées (?
Pourquoi c'est important
NGINX Rift remet sur le devant de la scène une réalité que la communauté de sécurité connaît bien : les composants les plus matures ne sont pas exempts de vulnérabilités latentes. Le fait qu'un bug introduit en 2008, soit deux ans après les premières publications de NGINX, ait pu rester invisible pendant dix-huit ans dans un code source examiné par des dizaines de milliers de développeurs illustre les limites de la revue de code et du fuzzing classique. La directive rewrite est l'une des plus utilisées de NGINX, et la condition de déclenchement, bien que spécifique, n'a rien d'inhabituel : son absence des outils de fuzzing existants tient probablement à la complexité combinatoire des configurations possibles, plus qu'à un défaut d'expertise.
L'épisode rappelle aussi qu'un service hégémonique constitue une cible privilégiée. NGINX équipe les principaux CDN, sert de reverse-proxy à des milliers de SaaS, intermédie l'authentification de larges parcs d'API et sert de fondation à des plateformes comme Kubernetes Ingress. Une faille au niveau du worker process se propage donc sur l'ensemble de la pile applicative en amont, et expose potentiellement des secrets en mémoire (clés TLS, tokens d'API, cookies de session). Pour un attaquant motivé, le contrôle du worker NGINX peut servir de tremplin vers le pivot interne, par exemple en injectant des en-têtes HTTP dans le flux backend ou en redirigeant des requêtes vers une infrastructure malveillante.
La situation s'inscrit dans une série de vulnérabilités infrastructure critique qui ont marqué le premier semestre 2026. Après les failles Apache httpd CVE-2026-23918, les RCE Exim CVE-2026-45185 et les exploits Cisco IOS, NGINX Rift confirme que les piles d'infrastructure les plus anciennes accumulent une dette de sécurité que les patchs ponctuels ne suffisent plus à éponger. Plusieurs équipes de recherche évoquent désormais la nécessité d'audits systématiques assistés par IA sur les modules les plus complexes des serveurs web open source, en particulier ceux qui manipulent des chaînes de caractères contrôlées par l'utilisateur.
Côté réglementaire, l'épisode arrive à un moment sensible. La directive NIS2 impose désormais aux entités essentielles et importantes de notifier les incidents significatifs sous 24 heures et de mettre en œuvre des correctifs critiques dans des délais cohérents avec le risque encouru. L'ANSSI rappelle dans son bulletin du 14 mai que toute exploitation avérée de CVE-2026-42945 dans un secteur régulé devra faire l'objet d'une déclaration. Les opérateurs d'importance vitale, les hébergeurs cloud souverains et les administrations doivent donc accélérer le déploiement des patchs et préparer leurs procédures de notification, sous peine d'amendes pouvant atteindre 2 % du chiffre d'affaires mondial.
Ce qu'il faut retenir
- CVE-2026-42945 (NGINX Rift) est une faille heap-overflow non authentifiée dans ngx_http_rewrite_module, avec un score CVSS v4 de 9.2 et un PoC public.
- Les versions correctrices sont NGINX Open Source 1.30.1 / 1.31.0 et NGINX Plus R32 P6 / R36 P4 ; le patch doit être prioritaire sur tous les fronts publics.
- En attendant le déploiement, auditer les directives rewrite combinant capture PCRE non nommée et caractère ?, vérifier l'activation de l'ASLR et durcir les règles WAF en amont.
Comment savoir si mon serveur NGINX est exposé à NGINX Rift ?
Vérifiez d'abord la version installée (nginx -v) : toute version antérieure à 1.30.1 (stable) ou 1.31.0 (mainline) est vulnérable. Auditez ensuite les fichiers de configuration (nginx -T) à la recherche de directives rewrite contenant à la fois une capture non nommée ($1, $2…) et un caractère ? dans la chaîne de remplacement, suivies d'une autre directive rewrite, if ou set dans la même portée. Si l'une de ces conditions est remplie, le serveur est exploitable sans authentification.
Besoin d'un accompagnement expert ?
Ayi NEDJIMI vous accompagne sur vos projets cybersécurité et IA.
Prendre contactÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
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
Articles connexes
Anthropic vise 950 Md$ et talonne OpenAI sur le marché
Anthropic négocie 30 à 50 Md$ pour une valorisation pouvant atteindre 950 milliards de dollars, devançant potentiellement OpenAI dans la course aux capitaux IA.
MuddyWater : faux Chaos ransomware pour espionner via Teams
Rapid7 attribue à l'APT iranien MuddyWater une campagne d'espionnage déguisée en ransomware Chaos, exploitant Microsoft Teams pour voler les identifiants.
CVE-2026-42898 : Dynamics 365 on-prem ouvert à toute identité (CVSS 9.9)
CVE-2026-42898 (CVSS 9.9) permet à tout utilisateur authentifié d'exécuter du code à distance sur Dynamics 365 on-premises. Correctif urgent publié au Patch Tuesday de mai 2026.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire