CVE-2026-66077 in RabbitMQ
Resumen
por VulDB • 2026-09-23
RabbitMQ es un corredor de mensajería y streaming. Antes de las versiones 3.13.15, 4.0.20, 4.1.11 y 4.2.6, la interfaz de administración utiliza EJS 1.0 en el que <%= ... %> NO realiza escape HTML. connection.ejs:135 renderiza <%= connection.ssl_details.peer_cert_subject %> (y peer_cert_issuer) directamente en la página. El mismo patrón aparece en streamConnection.ejs:102,106,110. Los valores provienen de rabbit_ssl:peer_cert_subject/1, que formatea el DN como una cadena sin escape HTML. El verificador corrigió la afirmación del investigador original: esto es alcanzable solo cuando el listener está configurado con verify_peer (por lo tanto, el certificado debe estar firmado por una CA en el almacén de confianza del broker, no auto-firmados arbitrarios); sin embargo, en implementaciones que utilizan mTLS para autenticación de clientes, cualquier usuario que pueda solicitar un certificado desde la CA organizacional controla el CN del Subject. Un atacante que puede obtener un certificado TLS de cliente firmado por una CA confiable por el broker (con verify_peer habilitado) puede incrustar JavaScript en el DN del Subject del certificado. Cuando cualquier administrador ve esa conexión en la interfaz de administración, el script se ejecuta en la sesión del navegador del admin, permitiendo el control total de la cuenta (crear usuarios, exportar definiciones, etc.). La CSP de la interfaz de administración incluye 'unsafe-inline', por lo que no se bloquea la ejecución de scripts inline. Los requisitos previos incluyen un listener TLS configurado con ssl_options.verify = verify_peer El atacante puede obtener un certificado de cliente firmado por CA con Subject elegido por el atacante (por ejemplo, PKI corporativa auto-servicio o plugin rabbitmq_trust_store en uso) Un administrador ve la página de detalles de la conexión. Este problema está corregido en las versiones 3.13.15, 4.0.20, 4.1.11 y 4.2.6.
If you want to get best quality of vulnerability data, you may have to visit VulDB.