En bref

  • CVE-2026-33032 : bypass d'authentification critique (CVSS 9.8) dans nginx-ui, exploité activement depuis le 22 avril 2026.
  • 2 689 instances exposées sur Internet selon Shodan, principalement en Chine, aux États-Unis, en Indonésie, en Allemagne et à Hong Kong.
  • Mise à jour immédiate vers nginx-ui 2.3.4 obligatoire, ou isolement réseau de l'interface d'administration.

Les faits

Points clés à retenir

  • Les faits
  • Impact et exposition
  • Recommandations

Le 22 avril 2026, BleepingComputer et Security Affairs ont confirmé l'exploitation active, en conditions réelles, de CVE-2026-33032 nginx-ui, une vulnérabilité critique affectant l'interface web open source d'administration du serveur Nginx. Notée 9.8 sur l'échelle CVSS, la faille réside dans le point de terminaison /mcp_message, exposé sans contrôle d'authentification : un attaquant distant, sans compte ni interaction utilisateur, peut détourner ce canal pour exécuter des commandes arbitraires et obtenir un contrôle total du serveur en deux requêtes HTTP seulement. La chaîne d'attaque est triviale à reproduire, ce qui explique la rapidité avec laquelle des scans opportunistes et des déploiements de portes dérobées ont été observés. Un correctif est disponible dans la dernière version publiée par l'éditeur ; toute instance non mise à jour, en particulier celles exposées sur Internet, doit être considérée comme potentiellement compromise.

La faille, baptisée MCPwn par les chercheurs de Picus Security, exploite l'endpoint /mcp_message mal protégé par rapport à son jumeau /mcp. Selon les chercheurs de sudowheel.com, une whitelist IP vide sur /mcp_message est interprétée par le middleware comme « autoriser toutes les IPs », rendant l'endpoint accessible à quiconque atteint le serveur. L'attaquant établit une connexion SSE, ouvre une session MCP, récupère le sessionID renvoyé puis invoque 12 outils MCP privilégiés, dont nginx_config_add avec rechargement automatique.

Impact et exposition

Tout attaquant ayant une connectivité réseau vers le port d'administration de nginx-ui (généralement 9000) peut prendre le contrôle complet du serveur sans aucune authentification. Les capacités offensives incluent l'ajout de configurations Nginx malveillantes pour intercepter le trafic, le vol de certificats SSL, la capture des logs contenant des identifiants d'administrateurs, et la persistance via extraction de tokens. L'exploitation demande moins de 30 secondes, ce qui rend la fenêtre de patch extrêmement serrée pour les serveurs exposés.

Recommandations

  • Mettre à jour nginx-ui vers la version 2.3.4 ou supérieure sans délai.
  • Bloquer l'accès Internet à l'interface de gestion nginx-ui : jamais d'exposition publique, filtrer au pare-feu ou via VPN uniquement.
  • Auditer les configurations Nginx actuelles à la recherche de blocs ajoutés récemment (proxy_pass vers domaines inconnus, access_log redirigé, upstream suspect).
  • Rechercher dans les logs nginx-ui les appels /mcp_message sans authentification préalable.
  • Révoquer et régénérer tous les certificats et secrets lisibles depuis la machine si compromission suspectée.

Alerte critique

Exploitation confirmée dans la nature le jour même de la publication de cet article. Les 2 689 serveurs exposés identifiés par Shodan sont tous attaquables en deux requêtes HTTP. Si votre instance nginx-ui est accessible depuis Internet sans patch, considérez-la comme déjà compromise.

Comment détecter une compromission nginx-ui déjà réalisée ?

Inspectez /etc/nginx/conf.d/ et les fichiers de configuration à la recherche de blocs récents non documentés, notamment des server{} ou upstream{} vers des domaines externes inconnus. Vérifiez les timestamps de modification avec find /etc/nginx -mtime -30. Contrôlez les logs d'accès du panneau nginx-ui (port 9000 par défaut) pour des requêtes POST vers /mcp_message. Si un doute subsiste, comparez les configurations avec votre dernière sauvegarde Git ou Ansible.

Les versions antérieures à 2.0 sont-elles concernées ?

L'endpoint MCP (Model Context Protocol) a été introduit dans nginx-ui 2.x pour exposer les opérations d'administration à des outils IA. Les versions 1.x ne disposent pas de cette surface d'attaque spécifique mais peuvent présenter d'autres failles non corrigées. Dans tous les cas, mettez à jour vers la dernière version stable et ne laissez jamais le panneau d'administration accessible publiquement.

Comment détecter une compromission nginx-ui déjà réalisée ?

La détection d'une exploitation passée repose d'abord sur l'analyse des logs d'accès de nginx-ui : toute requête vers /mcp_message suivie d'un appel tools/call dans le corps JSON-RPC constitue un indicateur de compromission fort, en particulier si l'adresse IP source n'apparaît dans aucune session d'administration légitime. Les administrateurs doivent également comparer la configuration Nginx active avec la dernière version versionnée (Git, sauvegarde ou snapshot antérieur au 22 avril 2026) afin de repérer des blocs server ou location injectés, notamment des directives proxy_pass pointant vers des domaines externes inconnus ou des access_log redirigés vers un chemin inhabituel. La présence de certificats SSL/TLS non émis par l'autorité de certification habituelle (Let's Encrypt, ACME interne) dans le répertoire de certificats de nginx-ui doit également être considérée comme suspecte. Enfin, il est recommandé d'auditer la table des tokens API et des sessions administrateur en base SQLite ou MySQL utilisée par nginx-ui, à la recherche de créations de comptes ou de jetons générés en dehors des horaires habituels d'administration.

Les versions antérieures à 2.0 sont-elles concernées ?

L'endpoint /mcp_message a été introduit avec l'intégration du protocole MCP (Model Context Protocol) dans la branche 2.x de nginx-ui, destinée à exposer des capacités d'automatisation pilotables par des agents IA. Les versions antérieures à la 2.0, dépourvues de cette fonctionnalité, ne sont donc pas vulnérables à CVE-2026-33032 dans sa forme actuelle. Cela ne dispense toutefois pas les exploitants de versions legacy 1.x d'une mise à jour : ces branches ne reçoivent plus de correctifs de sécurité depuis la fin 2025 et cumulent d'autres vulnérabilités non liées à MCP, notamment sur la gestion des sessions web classiques. La recommandation reste une migration complète vers la 2.3.4, qui corrige à la fois le contournement d'authentification et plusieurs durcissements du sous-système MCP, dont la validation stricte de la whitelist IP par défaut (deny-all au lieu d'allow-all en cas de configuration vide).

Votre infrastructure est-elle exposée ?

Un test rapide consiste à interroger depuis l'extérieur du périmètre réseau le port d'administration habituel (9000/TCP par défaut) avec une requête vers /mcp_message : toute réponse autre qu'un timeout, un refus de connexion ou un code 401/403 doit être traitée comme une exposition active nécessitant une action immédiate. Les équipes SOC peuvent croiser cette vérification avec les dorks Shodan et Censys publiés par les chercheurs de Picus Security (title:"nginx-ui", html:"nginx-ui") pour évaluer leur empreinte externe, y compris sur des instances oubliées ou déployées par des équipes tierces (agences, prestataires d'infogérance). Les organisations utilisant nginx-ui derrière un reverse proxy ou un VPN d'entreprise restent globalement protégées, à condition que l'accès au port 9000 ne soit pas également routable depuis des segments réseau internes non fiables, un scénario fréquent dans les architectures plates encore répandues chez les PME.

Votre infrastructure est-elle exposée ?

Ayi NEDJIMI réalise des audits de sécurité ciblés pour identifier et corriger vos vulnérabilités avant qu'elles ne soient exploitées.

Demander un audit

Sources et références