<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 29 Sep 2026 05:17:58 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-66077 — RabbitMQ: Stored XSS via TLS peer-certificate DN in management UI</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-66077</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; rabbitmq-server&lt;/p&gt;
&lt;p&gt;RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, and 4.2.6, The management UI uses EJS 1.0 in which &amp;lt;%= ... %&amp;gt; does NOT HTML-escape. connection.ejs:135 renders &amp;lt;%= connection.ssl_details.peer_cert_subject %&amp;gt; (and peer_cert_issuer) directly into the page. The same pattern appears in streamConnection.ejs:102,106,110. The values come from rabbit_ssl:peer_cert_subject/1 which formats the DN as a string without HTML escaping. The verifier corrected the original researcher&amp;#39;s claim: this is reachable only when the listener is configured with verify_peer (so the certificate must be signed by a CA in the broker&amp;#39;s trust store, not arbitrary self-signed); however, in deployments using mTLS for client authentication, any user who can request a certificate from the organisational CA controls the Subject CN. An attacker who can obtain a TLS client certificate signed by a CA the broker trusts (with verify_peer enabled) can embed JavaScript in the certificate&amp;#39;s Subject DN. When any administrator views that connection in the management UI, the script executes in the admin&amp;#39;s browser session, allowing full account takeover (create users, export definitions, etc.). The management UI&amp;#39;s CSP includes &amp;#39;unsafe-inline&amp;#39;, so inline script execution is not blocked. Preconditions include TLS listener configured with ssl_options.verify = verify_peer Attacker can obtain a CA-signed client certificate with attacker-chosen Subject (e.g. self-service corporate PKI, or r…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; rabbitmq-server&lt;/p&gt;
&lt;p&gt;RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, and 4.2.6, The management UI uses EJS 1.0 in which &amp;lt;%= ... %&amp;gt; does NOT HTML-escape. connection.ejs:135 renders &amp;lt;%= connection.ssl_details.peer_cert_subject %&amp;gt; (and peer_cert_issuer) directly into the page. The same pattern appears in streamConnection.ejs:102,106,110. The values come from rabbit_ssl:peer_cert_subject/1 which formats the DN as a string without HTML escaping. The verifier corrected the original researcher&amp;#39;s claim: this is reachable only when the listener is configured with verify_peer (so the certificate must be signed by a CA in the broker&amp;#39;s trust store, not arbitrary self-signed); however, in deployments using mTLS for client authentication, any user who can request a certificate from the organisational CA controls the Subject CN. An attacker who can obtain a TLS client certificate signed by a CA the broker trusts (with verify_peer enabled) can embed JavaScript in the certificate&amp;#39;s Subject DN. When any administrator views that connection in the management UI, the script executes in the admin&amp;#39;s browser session, allowing full account takeover (create users, export definitions, etc.). The management UI&amp;#39;s CSP includes &amp;#39;unsafe-inline&amp;#39;, so inline script execution is not blocked. Preconditions include TLS listener configured with ssl_options.verify = verify_peer Attacker can obtain a CA-signed client certificate with attacker-chosen Subject (e.g. self-service corporate PKI, or r…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-66077</guid>
    </item>
  </channel>
</rss>
