Les bogues de l’infrastructure Web restent particulièrement dangereux lorsqu’ils résident pendant des années dans la logique de traitement des requêtes largement déployée sans être détectés. Parmi les dernières vulnérabilités impactant NGINX Plus et NGINX Open, la vulnérabilité CVE-2026-42945 se distingue comme un dépassement de tampon de tas vieux de 18 ans dans ngx_http_rewrite_module qui peut être atteint par un attaquant non authentifié à travers des requêtes HTTP spécialement conçues et peut entraîner un déni de service ou, dans certains cas, l’exécution de code à distance. Les rapports publics citent un score CVSS v4 de 9,2 et désignent le problème sous le nom de NGINX Rift.
Du point de vue du défenseur, les éléments les plus importants pour CVE-2026-42945 sont le modèle de configuration affecté et le chemin de correctif. L’analyse publique de CVE-2026-42945 montre que la faille est exposée lorsqu’une directive de réécriture utilise une capture PCRE anonyme telle que $1 ou $2, inclut une chaîne de remplacement avec un point d’interrogation, et est suivie par une autre réécriture, une condition if, ou une directive set dans le même périmètre.
Analyse de CVE-2026-42945
Au niveau technique, la vulnérabilité de CVE-2026-42945 est causée par une logique d’échappement incohérente dans le moteur de réécriture. Depthfirst explique que NGINX calcule la longueur du tampon de destination selon un ensemble d’hypothèses et copie ensuite les données selon un autre, ce qui signifie que les octets dérivés de l’URI contrôlé par l’attaquant peuvent dépasser le tampon alloué dans le processus travailleur.
En termes pratiques, la charge utile publique de CVE-2026-42945 n’est pas un binaire ou un script lâché, mais une requête HTTP spécialement conçue qui atteint une règle de réécriture vulnérable et déclenche une corruption déterministe du tampon de tas. F5 indique que cela peut redémarrer le processus travailleur, tandis que les rapports publics ajoutent que l’exécution de code peut également être possible, notamment sur les systèmes où ASLR est désactivé.
La divulgation est notable car une analyse technique et une explication de la cause racine ont été publiées en même temps que l’avis, et depthfirst dit explicitement que son analyse complète inclut une preuve de concept pour CVE-2026-42945 et une explication des correctifs. Dans le même temps, le matériel des fournisseurs et des chercheurs indique qu’ils n’étaient pas au courant d’une exploitation dans la nature au moment de la divulgation.
L’exposition est large car CVE-2026-42945 affecte les versions NGINX Open Source de 0.6.27 à 1.30.0 et NGINX Plus de la R32 à la R36. La page des avis de sécurité nginx liste aussi des produits F5 et NGINX additionnels affectés construits autour de la même base de code, tandis que les versions open source corrigées sont 1.30.1 et 1.31.0.
Atténuation de CVE-2026-42945
La priorité pour l’atténuation de CVE-2026-42945 est de mettre à jour vers une version corrigée. Pour NGINX Open Source, cela signifie passer à 1.30.1 ou 1.31.0. Pour NGINX Plus, les correctifs ont été introduits dans R32 P6 et R36 P4. Depthfirst recommande également de redémarrer NGINX après la mise à niveau pour que les processus travailleurs rechargent le binaire corrigé.
Pour détecter l’exposition à CVE-2026-42945, les défenseurs devraient examiner les configurations NGINX pour les directives de réécriture qui combinent des captures anonymes avec une chaîne de remplacement contenant ?, suivie par réécriture, if, ou set dans le même périmètre. C’est le point de départ le plus pratique pour la détection de CVE-2026-42945, car la faille dépend d’un modèle de configuration spécifique et commun plutôt que simplement de la présence de NGINX.
Si un correctif immédiat n’est pas possible, F5 et depthfirst conseillent tous deux de remplacer les captures anonymes comme $1 et $2 par des captures nommées dans chaque directive de réécriture affectée. Il n’y a pas de IOC publiés par le fournisseur pour CVE-2026-42945 dans les documents cités, donc les défenseurs devraient se concentrer sur l’inventaire des versions, l’examen des configurations, les redémarrages inattendus des processus travailleurs, et les schémas de requêtes HTTP suspects touchant la logique de réécriture vulnérable.
FAQ
Qu’est-ce que CVE-2026-42945 et comment fonctionne-t-il ?
CVE-2026-42945 est un dépassement de tampon de tas dans le module ngx_http_rewrite_module d’NGINX. Il est déclenché par un modèle de règle de réécriture spécifique impliquant des captures regex anonymes et une chaîne de remplacement contenant un point d’interrogation, ce qui peut provoquer un débordement des données de l’URI contrôlé par l’attaquant dans le processus de travail.
Quand CVE-2026-42945 a-t-il été découvert pour la première fois ?
Les rapports publics indiquent que le problème a été divulgué de manière responsable le 21 avril 2026, et depthfirst précise que F5 a confirmé, corrigé et publié l’avis coordonné le 13 mai 2026.
Quel est l’impact de CVE-2026-42945 sur les systèmes ?
L’impact immédiat est un déni de service par des crashs ou des boucles de redémarrage du processus de travail. Dans des conditions supplémentaires favorables, les rapports publics et les documents des chercheurs indiquent que le bogue peut également permettre l’exécution de code à distance dans le processus de travail NGINX.
CVE-2026-42945 peut-il encore m’affecter en 2026 ?
Oui. Les systèmes peuvent encore être exposés en 2026 s’ils exécutent des versions vulnérables de NGINX et utilisent le modèle de configuration de réécriture affecté, surtout s’ils n’ont pas encore été mis à jour vers 1.30.1, 1.31.0 ou la version corrigée pertinente de NGINX Plus.
Comment puis-je me protéger contre CVE-2026-42945 ?
Mettez à jour vers une version corrigée, redémarrez NGINX après le correctif et auditez les règles de réécriture pour les captures anonymes suivies par réécriture, if, ou set lorsque la chaîne de remplacement inclut ?. Si le correctif doit être retardé, remplacez les captures anonymes par des captures nommées comme solution temporaire.