F5 - CVE-2026-15176

Date de publication :

Il s’agit d’une vulnérabilité dans le module ngx_http_core_module de NGINX Plus et de NGINX Open Source.

NGINX est un serveur web et reverse proxy open source. Il sert aussi de répartiteur de charge et de cache HTTP. NGINX Plus est sa version commerciale éditée par F5.

Le défaut apparaît quand un bloc location combine la directive alias avec rewrite et une directive set ou return qui référence la variable $request_filename. Il apparaît aussi lorsque $request_filename est utilisé dans une directive log_format du journal d’accès. Le dépassement de tampon dans le tas touche le processus worker du plan de données. Un attaquant distant non authentifié le déclenche avec des requêtes HTTP spécialement conçues, mais des conditions hors de son contrôle sont nécessaires.

Elle permet un déni de service par redémarrage du processus worker et potentiellement l’exécution de code arbitraire si l’ASLR est désactivé ou contourné.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

Exécution de code arbitraire (à distance)

Exploitation

La vulnérabilité exploitée est du type
CWE-122 : Heap-based Buffer Overflow

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Élevée
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.

Systèmes ou composants affectés

  • NGINX Open Source 1.31 versions 1.31.0 jusqu’à 1.31.6.

  • NGINX Open Source 1.x stable versions 1.0.0 jusqu’à 1.30.5.
  • NGINX Open Source 0.x versions 0.1.29 jusqu’à 0.9.9.
  • NGINX Plus 37.x versions 37.0.0 jusqu’à 37.0.4 et 37.1.0.
  • NGINX Plus versions R33 jusqu’à R36.
  • NGINX Instance Manager 2.x versions 2.18.0 jusqu’à 2.23.0.
  • F5 WAF for NGINX 5.x versions 5.9.0 jusqu’à 5.15.0.
  • NGINX App Protect WAF 5.x versions 5.4.0 jusqu’à 5.8.0.
  • NGINX App Protect WAF 4.x versions 4.12.0 jusqu’à 4.16.0.
  • F5 DoS for NGINX 4.x versions 4.8.0 jusqu’à 4.10.0.
  • NGINX App Protect DoS 4.x versions 4.5.0 jusqu’à 4.7.0.
  • NGINX Gateway Fabric 2.x versions 2.1.0 jusqu’à 2.7.2.
  • NGINX Ingress Controller 5.x versions 5.6.0 jusqu’à 5.6.3.

Contournement provisoire

•   Éviter l’utilisation de la directive alias dans un bloc location.
•   Éviter l’utilisation de la variable $request_filename, y compris dans une directive log_format.

Solutions ou recommandations

•   NGINX Open Source 1.31 : versions 1.31.7 et supérieures.
•   NGINX Open Source 1.x stable : versions 1.30.6 et supérieures.
•   NGINX Open Source 0.x : aucun correctif dans la branche, migration vers une version corrigée (1.30.6 ou 1.31.7 et supérieures).
•   NGINX Plus 37.0 : versions 37.0.5.1 et supérieures.
•   NGINX Plus 37.1 : versions 37.1.0.1 et supérieures.
•   NGINX Plus R33 à R36 : aucun correctif dans la branche, migration vers une version corrigée (37.0.5.1 ou 37.1.0.1 et supérieures).
•   NGINX Instance Manager 2.x : versions 2.24.0 et supérieures.
•   F5 WAF for NGINX 5.x : versions 5.16.0 et supérieures, ou 5.14.2 pour la branche 5.14.
•   NGINX App Protect WAF 5.x et 4.x : aucun correctif disponible.
•   F5 DoS for NGINX 4.x : versions 4.11.0 et supérieures.
•   NGINX App Protect DoS 4.x : aucun correctif disponible.
•   NGINX Gateway Fabric 2.x : versions 2.8.0 et supérieures.
•   NGINX Ingress Controller 5.x : versions 5.7.0 et supérieures.