Vulnérabilité critique NGINX Rift corrigée après 18 ans, exposant les serveurs à l'exécution de code à distance
Des chercheurs en sécurité ont découvert une vulnérabilité critique de débordement de tampon dans le tas (heap buffer overflow) dans **NGINX Plus** et **NGINX Open Source**, baptisée **NGINX Rift** (**CVE-2026-42945**), qui est restée indétectée pendant 18 ans. Cette faille pourrait permettre à des attaquants non authentifiés d'exécuter du code à distance ou de provoquer un déni de service (DoS) via des requêtes HTTP spécialement conçues.

### NGINX Rift : Plongée dans la CVE-2026-42945
La vulnérabilité, découverte par **depthfirst**, réside dans le module `ngx_http_rewrite_module`. Selon **F5**, la vulnérabilité existe lorsque la directive `rewrite` est suivie d'une directive `rewrite`, `if`, ou `set` et d'une capture d'expression régulière compatible Perl (PCRE) sans nom (par exemple, $1, $2) avec une chaîne de remplacement incluant un point d'interrogation (?).
Un attaquant non authentifié, sous certaines conditions, peut exploiter cette faille en envoyant des requêtes HTTP spécialement conçues. Cela peut entraîner un débordement de tampon dans le tas du processus worker NGINX, provoquant potentiellement un redémarrage ou, si la randomisation de l'espace d'adressage (ASLR) est désactivée, une exécution de code à distance.
### Versions affectées et informations sur le correctif
Le problème a été corrigé dans les versions suivantes après divulgation responsable le 21 avril 2026 :
* NGINX Plus R32 - R36 (Corrections introduites dans R32 P6 et R36 P4)
* NGINX Open Source 1.0.0 - 1.30.0 (Corrections introduites dans 1.30.1 et 1.31.0)
* NGINX Open Source 0.6.27 - 0.9.7 (Aucune correction prévue)
* NGINX Instance Manager 2.16.0 - 2.21.1
* F5 WAF pour NGINX 5.9.0 - 5.12.1
* NGINX App Protect WAF 4.9.0 - 4.16.0
* NGINX App Protect WAF 5.1.0 - 5.8.0
* F5 DoS pour NGINX 4.8.0
* NGINX App Protect DoS 4.3.0 - 4.7.0
* NGINX Gateway Fabric 1.3.0 - 1.6.2
* NGINX Gateway Fabric 2.0.0 - 2.5.1
* NGINX Ingress Controller 3.5.0 - 3.7.2
* NGINX Ingress Controller 4.0.0 - 4.0.1
* NGINX Ingress Controller 5.0.0 - 5.4.1
### Exploitation et impact
L'avis de Depthfirst souligne la gravité de la vulnérabilité, notant qu'elle permet à un attaquant distant et non authentifié de corrompre le tas d'un processus worker NGINX en envoyant une URI spécialement conçue. La facilité d'exploitation, associée au potentiel d'exécution de code à distance, en fait un problème critique.
« Un attaquant qui peut atteindre un serveur NGINX vulnérable via HTTP peut envoyer une seule requête qui déborde le tas dans le processus worker et permet l'exécution de code à distance », a déclaré depthfirst. « Il n'y a aucune étape d'authentification, aucune exigence d'accès préalable et aucun besoin de session existante. »
Des requêtes répétées peuvent également être utilisées pour créer une boucle de crash, dégradant considérablement la disponibilité des sites servis par l'instance affectée.
### Vulnérabilités supplémentaires corrigées
En plus de la **CVE-2026-42945**, les dernières versions de NGINX corrigent également les vulnérabilités suivantes :
* **CVE-2026-42946** (score CVSS v4 : 8.3) : Une vulnérabilité d'allocation excessive de mémoire dans les modules `ngx_http_scgi_module` et `ngx_http_uwsgi_module`, permettant potentiellement à un attaquant distant doté de capacités d'adversaire en cours de route (AitM) de lire la mémoire du processus worker NGINX ou de déclencher un redémarrage.
* **CVE-2026-40701** (score CVSS v4 : 6.3) : Une vulnérabilité use-after-free dans le module `ngx_http_ssl_module`, qui pourrait accorder à un attaquant distant un contrôle limité sur la modification des données ou la capacité de redémarrer le processus worker NGINX.
* **CVE-2026-42934** (score CVSS v4 : 6.3) : Une vulnérabilité de lecture hors limites dans le module `ngx_http_charset_module`, permettant potentiellement à un attaquant distant de divulguer le contenu de la mémoire ou de redémarrer le processus worker NGINX.
### Atténuation et recommandations
Il est fortement conseillé aux utilisateurs d'appliquer les dernières versions de NGINX pour assurer une protection optimale. Si une correction immédiate n'est pas réalisable pour la **CVE-2026-42945**, une solution de contournement temporaire consiste à modifier la configuration de rewrite en remplaçant les captures sans nom par des captures nommées dans chaque directive rewrite affectée.