Sécurité et confidentialité

NGINX corrige cinq failles, dont un contournement TLS et une injection HTTP/3

NGINX a publié les versions 1.30.6 et 1.31.7 pour corriger cinq vulnérabilités, incluant un bug de falsification de session TLS et une faille d'injection de requêtes HTTP/3.

Illustration d'un rack de serveurs sécurisé avec un bouclier numérique et un symbole de cadenas.
Illustration créée pour cet article

Traduit automatiquement depuis l’original en anglais.

NGINX a publié les versions 1.30.6 et 1.31.7 le 14 octobre afin de corriger cinq vulnérabilités de sécurité affectant son logiciel de serveur web. Cette mise à jour, émise par F5, l'entreprise derrière NGINX, comprend des correctifs pour des bugs de corruption de mémoire, un problème de falsification de session TLS et une faille d'injection de données HTTP/3. Bien qu'aucune exploitation active n'ait été signalée, ces correctifs sont critiques pour les administrateurs gérant des infrastructures auto-hébergées.

Ce qui s'est passé

La publication corrige trois bugs de sécurité mémoire pouvant faire planter les processus workers ou potentiellement permettre l'exécution de code à distance. Ces problèmes dépendent de la présence de directives de configuration spécifiques, telles que l'utilisation d'alias avec des règles de réécriture, des cartes regex ou des E/S asynchrones avec Server Side Includes. F5 a classé ces bugs mémoire comme critiques avec un score CVSS v4.0 de 9,2, notant qu'ils nécessitent des conditions précises pour être exploités mais représentent un risque significatif s'ils sont déclenchés.

Une quatrième vulnérabilité concerne la rotation automatique des clés de ticket de session TLS. Dans les configurations utilisant un cache de session partagé sans fichiers de clés explicites, NGINX ne parvenait pas à initialiser correctement tous les emplacements de clés lors de la rotation. Cette erreur pourrait permettre à un attaquant de falsifier une session TLS, contournant potentiellement la vérification du certificat client. F5 a décrit cette falsification comme non déterministe et hors du contrôle direct de l'attaquant, mais elle reste un risque sérieux de contournement de l'authentification. La cinquième faille affecte les implémentations HTTP/3, permettant l'injection d'octets supplémentaires dans les requêtes proxifiées, ce qui pourrait dépasser les limites de taille du corps ou corrompre les données backend.

Détails clés

  • CVE-2026-15176 est un débordement de tas (heap overflow) déclenché par les directives alias et rewrite, affectant les versions de 0.1.29 à 1.31.6.
  • CVE-2026-93479 est un débordement de tas dans le traitement des cartes regex, présent dans les versions 1.30.0 à 1.30.5 et 1.31.2 à 1.31.6.
  • CVE-2026-97205 est un bug d'utilisation après libération (use-after-free) impliquant des E/S asynchrones et des pages SSI, affectant les versions de 0.8.11 à 1.31.6.
  • CVE-2026-95101 permet aux clients HTTP/3 d'injecter des octets supplémentaires dans les requêtes proxifiées, affectant les versions de 1.25.0 à 1.31.6.
  • CVE-2026-97629 permet des sessions TLS falsifiées pouvant contourner les vérifications de certificats clients, affectant les versions de 1.23.2 à 1.31.6.
  • Aucune des cinq vulnérabilités n'était listée dans le catalogue des vulnérabilités connues exploitées (KEV) de CISA au 15 octobre.

Contexte

NGINX est un serveur web haute performance et un proxy inverse largement utilisé pour les applications auto-hébergées et les infrastructures d'entreprise. Il gère la terminaison TLS, l'équilibrage de charge et le service de fichiers statiques. De nombreux administrateurs comptent sur des configurations par défaut ou recommandées, telles que les caches de session SSL partagés, pour améliorer les performances en permettant aux clients de reprendre des sessions sans poignées de main complètes. Cependant, ces optimisations peuvent introduire des problèmes complexes de gestion d'état, comme on l'a vu avec le récent bug de rotation des clés TLS.

HTTP/3 est la dernière version du protocole HTTP, construite sur QUIC plutôt que sur TCP. Elle offre une établissement de connexion plus rapide et de meilleures performances sur les réseaux instables. Comme HTTP/3 est relativement nouveau dans les déploiements généralisés, son implémentation dans NGINX est encore en maturation. La faille récente met en évidence comment les erreurs de logique du parser dans les nouveaux protocoles peuvent conduire à des comportements inattendus de traitement des données, tels que le passage d'octets non intentionnels aux services backend.

Pourquoi c'est important

Pour les équipes exécutant leurs propres logiciels, ces vulnérabilités soulignent les risques liés à la dépendance aux configurations par défaut. La faille de contournement TLS, par exemple, existe dans la configuration exacte du cache de session partagé recommandée dans la documentation NGINX. Les administrateurs qui ont copié ces exemples sans comprendre le mécanisme sous-jacent de rotation des clés ont pu exposer involontairement leurs systèmes à des contournements d'authentification. Cela souligne la nécessité d'audits de configuration réguliers, et pas seulement de mises à jour logicielles.

Les bugs de corruption de mémoire posent également un risque de stabilité. Un processus worker planté peut entraîner des interruptions de service, tandis que l'exécution de code à distance pourrait compromettre l'hôte entier. Puisque NGINX se trouve souvent en périphérie du réseau, exposé à un trafic non fiable, toute vulnérabilité permettant l'exécution de code est particulièrement dangereuse. Les équipes doivent s'assurer qu'elles utilisent des branches supportées, car les anciennes versions comme 1.28 ne reçoivent pas ces correctifs sauf s'ils sont backportés par leur distribution.

Que pouvez-vous faire

  • Passez immédiatement à NGINX 1.30.6 sur la branche stable ou 1.31.7 sur la branche principale (mainline).
  • Si vous ne pouvez pas mettre à niveau, désactivez les fonctionnalités spécifiques déclenchant chaque faille, comme désactiver aio ou supprimer les caches de session SSL partagés.
  • Exécutez nginx -T pour inspecter votre configuration en cours à la recherche de directives risquées comme alias avec rewrite ou ssl_session_cache partagé.
  • Vérifiez si votre distribution Linux a backporté les correctifs si vous dépendez des mises à jour via le gestionnaire de paquets plutôt que des binaires upstream.
  • Revoyez les paramètres HTTP/3 et envisagez de désactiver proxy_request_buffering si vous ne pouvez pas mettre à niveau pour atténuer la faille d'injection.
  • Surveillez les avis de sécurité de F5 pour NGINX Plus et les produits associés, car certains pourraient ne pas avoir de builds corrigés disponibles pour le moment.

Autres actualités

Toutes les actualités