En bref

  • CVE-2026-33032 (CVSS 9.8) : auth bypass dans le endpoint /mcp_message de nginx-ui
  • Versions affectées : toutes les versions antérieures à 2.3.4
  • 2 600+ instances exposées, exploitation active observée depuis le 13 avril 2026

Les faits

Points clés à retenir

  • Les faits
  • Impact et exposition
  • Recommandations

Le 14 avril 2026, BleepingComputer et The Hacker News relaient l'alerte publiée par les chercheurs de Pluto Security : la CVE-2026-33032 nginx-ui, baptisée MCPwn, frappe le serveur MCP embarqué dans nginx-ui, l'interface web open source de gestion de Nginx utilisée par des milliers d'administrateurs. Le défaut tient à une seule ligne de code absente : le endpoint /mcp_message ne passe pas par le middleware AuthRequired(), pourtant correctement appliqué à son jumeau /mcp. Conséquence directe, n'importe quel visiteur non authentifié peut dialoguer avec le serveur MCP, énumérer les outils exposés, lire ou modifier les fichiers de configuration et, dans la foulée, exécuter des commandes système sur l'hôte. Deux requêtes HTTP suffisent : une pour ouvrir la session, une pour déclencher l'appel. Exploitation triviale, aucune authentification requise, et une surface d'attaque souvent exposée directement sur Internet : la mise à jour est urgente.

VulnCheck a inscrit la CVE à son catalogue KEV le 13 avril 2026 et Recorded Future Insikt Group la classe parmi les 31 vulnérabilités les plus exploitées du mois de mars 2026. Un scan Shodan réalisé par Pluto Security recense 2 600 instances nginx-ui exposées publiquement et potentiellement vulnérables. Le score CVSS 9.8 reflète la gravité : confidentialité, intégrité et disponibilité totalement compromises sans pré-requis d'authentification ni interaction utilisateur.

Impact et exposition

Les administrateurs Linux et SRE qui utilisent nginx-ui pour piloter leurs configurations Nginx via une interface web sont les premiers concernés. Le risque est aggravé par la nature de l'exploitation : un attaquant peut écrire un nouveau bloc serveur (proxy_pass vers son C2, redirection 302, MITM TLS) puis déclencher un reload, le tout sans laisser de traces dans les logs d'authentification. Les déploiements DevOps qui exposent nginx-ui derrière un VPN ou un réseau privé sans segmentation supplémentaire restent vulnérables si un attaquant pivote depuis un autre actif compromis.

Recommandations

  • Mettre à jour nginx-ui vers la version 2.3.4 ou supérieure sans délai
  • En attendant le patch : ajouter manuellement middleware.AuthRequired() au handler /mcp_message ou passer la liste d'IP autorisées de "allow-all" à "deny-all"
  • Auditer les fichiers de configuration Nginx (/etc/nginx/conf.d/, sites-enabled) pour détecter des blocs serveur ajoutés à votre insu
  • Désactiver l'exposition publique de nginx-ui : restreindre l'accès via WireGuard ou un bastion SSH

Alerte critique

MCPwn est la première exploitation massive d'un serveur MCP en production. Si vous opérez des agents IA exposant des outils MCP, considérez tous vos endpoints comme potentiellement vulnérables et auditez les middlewares d'authentification sur l'ensemble des routes, pas uniquement les principales.

Comment savoir si mon instance nginx-ui a été compromise ?

Recherchez dans les logs Nginx des événements de reload non corrélés à un déploiement légitime, inspectez les fichiers de configuration récemment modifiés (find /etc/nginx -mtime -7), et vérifiez la présence de blocs server ou location avec des proxy_pass vers des domaines inconnus. Les exploits observés modifient typiquement la configuration sans toucher à l'interface utilisateur.

Le correctif 2.3.4 suffit-il à se protéger ?

Oui pour l'auth bypass spécifique. Mais l'incident révèle un défaut de conception plus large : la défense en profondeur (IP allowlist + auth) n'était pas appliquée uniformément sur toutes les routes MCP. Un audit complet de votre déploiement reste recommandé, notamment si vous avez exposé d'autres outils MCP via des frameworks tiers.

Pour aller plus loin sur les enjeux de sécurité du tooling DevOps : consultez notre dossier sur les webhooks n8n abusés pour la diffusion de RMM Datto et notre analyse des outils de sécurité devenus le risque principal en 2026. Les bonnes pratiques d'Active Directory durci et le contournement EDR apportent un éclairage complémentaire sur la posture défensive à adopter.

Comment savoir si mon instance nginx-ui a été compromise ?

L'exploitation de CVE-2026-33032 ne génère aucune entrée dans les logs d'authentification de nginx-ui, puisque le endpoint /mcp_message contourne entièrement le middleware de contrôle d'accès. La détection doit donc porter sur les traces indirectes de l'attaque. Trois points de contrôle prioritaires : d'abord, comparer l'empreinte des fichiers de configuration Nginx actifs (/etc/nginx/conf.d/, sites-enabled/) avec une sauvegarde de référence antérieure au 13 avril 2026, en cherchant des directives proxy_pass pointant vers des domaines ou IP inconnus, des blocs server ajoutés récemment ou des redirections 302 non documentées. Ensuite, examiner les logs d'accès Nginx pour des requêtes POST répétées vers /mcp_message depuis des IP externes ou réseau-adjacentes — la charge utile JSON-RPC caractéristique du protocole MCP (champs method et tool_name) laisse une signature identifiable même sans authentification associée. Enfin, vérifier l'historique des rechargements du service Nginx (systemctl status nginx, journal systemd) pour repérer des reload non planifiés coïncidant avec les requêtes suspectes. Pluto Security recommande également d'auditer les certificats TLS servis, un scénario MITM pouvant s'appuyer sur un certificat auto-signé injecté via la configuration modifiée.

Le correctif 2.3.4 suffit-il à se protéger ?

La mise à jour vers nginx-ui 2.3.4 corrige la cause racine — l'absence d'invocation de AuthRequired() sur /mcp_message — et bloque donc tout nouvel appel non authentifié aux 12 outils MCP concernés. Elle ne remédie toutefois pas rétroactivement à une éventuelle compromission antérieure : si un attaquant a déjà modifié la configuration Nginx avant le patch, celle-ci reste active après la mise à jour tant qu'elle n'est pas auditée et restaurée manuellement. Le score CVSSv3.1 de 9.8 (vecteur AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) traduit un vecteur réseau, une complexité d'attaque faible, aucun privilège ni interaction utilisateur requis, et un impact maximal sur les trois piliers CIA — ce qui explique l'inscription immédiate au catalogue KEV de VulnCheck.

Votre infrastructure est-elle exposée ?

Au-delà du scan Shodan initial de Pluto Security, les équipes SRE peuvent vérifier leur exposition en interrogeant directement leur instance : une réponse HTTP 200 sur une requête POST non authentifiée vers /mcp_message confirme la vulnérabilité. Les organisations utilisant des outils de gestion d'exposition externe (EASM) ou des scanners CVE intégrant déjà la signature CVE-2026-33032 — Nuclei dispose d'un template communautaire publié le 15 avril 2026 — peuvent automatiser ce contrôle sur l'ensemble de leur parc.

Sources et références (2)

  • BleepingComputer, « MCPwn: nginx-ui auth bypass allows full server takeover », 14 avril 2026
  • The Hacker News, couverture CVE-2026-33032, 14 avril 2026
  • Pluto Security, rapport technique et scan Shodan (2 600 instances exposées)
  • VulnCheck KEV Catalog, entrée CVE-2026-33032, ajoutée le 13 avril 2026
  • Recorded Future Insikt Group, rapport mensuel des vulnérabilités les plus exploitées, mars 2026

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