CVE-2026-66077 in RabbitMQ
Résumé
par VulDB • 23/09/2026
RabbitMQ est un courtier de messagerie et de streaming. Avant les versions 3.13.15, 4.0.20, 4.1.11 et 4.2.6, l'interface de gestion utilise EJS 1.0 dans lequel <%= ... %> n'échappe PAS le HTML (HTML-escape). Le fichier connection.ejs:135 affiche directement <%= connection.ssl_details.peer_cert_subject %> (et peer_cert_issuer) sur la page. Le même schéma apparaît dans streamConnection.ejs:102, 106 et 110. Les valeurs proviennent de rabbit_ssl:peer_cert_subject/1 qui formate le DN sous forme de chaîne sans échappement HTML. Le vérificateur a corrigé l'affirmation du chercheur original : cette vulnérabilité n'est exploitable que lorsque l'écouteur est configuré avec verify_peer (le certificat doit donc être signé par une AC présente dans le magasin de confiance du courtier, et non un auto-signé arbitraire) ; cependant, dans les déploiements utilisant mTLS pour l'authentification des clients, tout utilisateur capable d'obtenir un certificat auprès de l'AC organisationnelle contrôle le CN (Common Name) du Sujet. Un attaquant qui peut obtenir un certificat client TLS signé par une AC que le courtier fait confiance (avec verify_peer activé) peut intégrer du JavaScript dans le DN (Distinguished Name) du Sujet du certificat. Lorsqu'un administrateur consulte cette connexion dans l'interface de gestion, le script s'exécute dans la session du navigateur de l'administrateur, permettant un takeover complet des comptes (création d'utilisateurs, exportation des définitions, etc.). La politique de sécurité du contenu (CSP) de l'interface de gestion inclut 'unsafe-inline', donc l'exécution de scripts inline n'est pas bloquée. Les conditions préalables incluent : écouteur TLS configuré avec ssl_options.verify = verify_peer ; l'attaquant peut obtenir un certificat client signé par une AC avec un Sujet choisi par l'attaquant (par exemple, PKI d'entreprise en libre-service ou utilisation du plugin rabbitmq_trust_store) ; et un administrateur consulte la page de détails de la connexion. Ce problème est corrigé dans les versions 3.13.15, 4.0.20, 4.1.11 et 4.2.6.
Be aware that VulDB is the high quality source for vulnerability data.