Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain CA-signed client cert with malicious Subject CN
-
DeliveryConnect to verify_peer TLS listener
-
ExploitStore XSS payload in peer_cert_subject DN
-
InstallAdmin views connection detail page
-
C2Unescaped EJS renders payload (CSP unsafe-inline)
-
ExecuteScript runs in admin session
-
ImpactCreate users / export definitions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the broker's TLS listener to be configured with ssl_options.verify = verify_peer (mutual TLS client-certificate authentication) - this is NOT the default, which is the primary limiting factor. The attacker must be able to obtain a client certificate signed by a CA in the broker's trust store while controlling the certificate's Subject DN (CN); realistic paths are a self-service corporate/organisational PKI or an environment using the rabbitmq_trust_store plugin. A self-signed or untrusted certificate does NOT work. Finally, an administrator must view the malicious connection's detail page in the management UI (UI:A). The management UI CSP includes 'unsafe-inline', so it does NOT block the injected inline script - removing what would otherwise be a mitigation. |
| Impact | This is a genuine but conditionally-gated stored XSS (CWE-79), not a high-CVSS-but-low-risk artifact. The vendor CVSS 4.0 vector (7.3, AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:L) shows network reach but embeds two important brakes: AT:P (attack requirements - the verify_peer mTLS precondition) and UI:A (an administrator must actively view the connection page). No EPSS score, no CISA KEV entry, and no public exploit code are present in the input, so exploitation is best characterized as no public exploit identified at time of analysis. The impact ceiling is high (full admin account takeover of the RabbitMQ management UI: create users, export definitions), which justifies the VC:H/VI:H. However realistic priority is moderate rather than urgent because exploitation depends on a specific deployment mode (verify_peer client-cert authentication) AND the attacker's ability to obtain a CA-signed certificate with an attacker-chosen Subject DN AND administrator interaction. Note a nuance the verifier corrected: the original researcher's implied 'any self-signed cert' claim is wrong - the cert must chain to a CA in the broker's trust store, which narrows the attack to environments with self-service corporate PKI or the rabbitmq_trust_store plugin. The CSP containing 'unsafe-inline' is an aggravating factor that removes a mitigation that would otherwise have blocked inline script. |
| Exploit ScenarioDerived | In a RabbitMQ deployment using mTLS (ssl_options.verify = verify_peer) with a self-service corporate PKI, an attacker requests a legitimate client certificate whose Subject CN contains a JavaScript payload (e.g. an <img onerror> or <script> string). The attacker connects to the broker with that certificate; when an administrator later opens that connection's detail page in the management UI, connection.ejs renders the unescaped Subject DN and the script executes in the admin's authenticated session, enabling full account takeover. No public exploit code is identified in the provided data, though the code path (connection.ejs:135, streamConnection.ejs:102/106/110) is precisely documented in the advisory. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 23, 2026
Stored cross-site scripting in the RabbitMQ management UI allows an attacker who can obtain a TLS client certificate signed by a CA the broker trusts to embed JavaScript in the certificate's Subject DN, which is rendered unescaped in the connection detail page and executes in an administrator's browser session when that connection is viewed. Success enables full administrative account takeover within the management UI - creating users, exporting definitions, and performing any action the viewing admin can perform. Exploitation is heavily gated: the TLS listener must be configured with ssl_options.verify = verify_peer (not the default), the certificate must be signed by a CA in the broker's trust store (self-signed certificates do not work), and an administrator must open the affected connection page; the management UI's CSP includes 'unsafe-inline', so inline script is not blocked. Patched versions are 3.13.15, 4.0.20, 4.1.11, and 4.2.6; no public exploit code and no confirmed active exploitation were identified at time of analysis.
RemediationAI
Upgrade to a fixed release - RabbitMQ 3.13.15, 4.0.20, 4.1.11 or 4.2.6 - which patch the unescaped certificate DN output in connection.ejs and streamConnection.ejs; the primary reference is the vendor advisory at https://github.com/rabbitmq/rabbitmq-server/security/advisories/GHSA-rjcf-35r5-xw38, and upgrade guidance is in the 4.2.6 release notes at https://github.com/rabbitmq/rabbitmq-server/releases/tag/v4.2.6. Note that a patched management plugin requires restarting the node or at minimum the management application, and that RabbitMQ will refuse to start on Erlang/OTP versions below the compatibility matrix for the target release, so validate Erlang levels before upgrading. If an immediate upgrade is not possible, the most effective compensating control is to stop using verify_peer on externally reachable listeners where mutual TLS client authentication is not genuinely required - this removes the injection precondition entirely, at the cost of losing certificate-based client authentication, so affected clients must be moved to other authentication mechanisms such as SASL, OAuth or LDAP. Where mTLS is mandatory, restrict certificate issuance so that Subject DNs cannot contain attacker-chosen arbitrary characters (enforce a restrictive CN naming policy and reject DN attribute values containing angle brackets or quotes at the issuing CA), and limit which identities hold certificates trusted by the broker; both measures depend on PKI governance rather than broker configuration and will not help where a self-service CA is in use. Administrators should avoid opening connection detail pages for connections whose client identity comes from an untrusted or self-service PKI until the patch is applied, though this is a fragile operational control given normal monitoring habits. Finally, removing 'unsafe-inline' from the management UI Content-Security-Policy would neutralise the injected script even on unpatched nodes, but RabbitMQ's UI relies on inline script in places, so tightening CSP may visibly break parts of the interface and should be tested in a staging environment first.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 4 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The RabbitMQ management UI is an Erlang/OTP web application that uses the EJS 1.0 templating engine, in which the <%= ... %> delimiter performs raw output without HTML escaping (escape output requires <%- ... %> in that engine's convention, here inverted relative to modern EJS). Two templates interpolate certificate-derived strings directly: connection.ejs line 135 renders connection.ssl_details.peer_cert_subject and peer_cert_issuer, and streamConnection.ejs lines 102, 106 and 110 repeat the same pattern for streaming connections. The underlying values originate from rabbit_ssl:peer_cert_subject/1 and the corresponding issuer function, which format the X.509 Distinguished Name as a plain string with no HTML encoding, so attacker-controlled DN attributes (notably the Subject CN) reach the rendered page verbatim. This is a classic CWE-79 cross-site scripting defect arising from missing output encoding against an untrusted data source rather than from a logic error in authentication or authorization. Two conditions make the issue reachable and impactful: the listener must use mutual TLS with ssl_options.verify = verify_peer so the presented client certificate is validated against the broker's trust store, and the management UI's Content-Security-Policy contains 'unsafe-inline', which explicitly permits the injected inline script to run instead of being neutralised by CSP. Because the payload is persisted in the broker's view of the connection and fires on page render, the cross-site scripting is stored rather than reflected, and the script executes with the full privileges of whichever administrator views the connection, i.e. in the management UI's origin and session context. The affected package is tracked under the CPE cpe:2.3:a:rabbitmq:rabbitmq-server, matching all RabbitMQ server releases before the fixed versions regardless of operating system or distribution packaging.
Know when Rabbitmq gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
AC:H for the verify_peer plus trusted-CA certificate acquisition requirements; PR:L because the attacker must obtain a CA-issued cert; UI:R as an admin must view the page; S:C as the payload executes in the admin's browser context.
AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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 <%= ... %> does NOT HTML-escape. connection.ejs:135 renders <%= connection.ssl_details.peer_cert_subject %> (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'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'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's Subject DN. When any administrator views that connection in the management UI, the script executes in the admin's browser session, allowing full account takeover (create users, export definitions, etc.). The management UI's CSP includes 'unsafe-inline', 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 rabbitmq_trust_store plugin in use) Administrator views the connection detail page. This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, and 4.2.6.
Technical POC Analysis
CWE-79 (Improper Neutralization of Input During Web Page Generation, stored XSS), in the RabbitMQ management UI's client-side templating.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A stored cross-site scripting flaw in the RabbitMQ management UI (CVE-2026-66077) lets an attacker who holds a TLS client certificate signed by a CA the broker already trusts inject script into the connection detail page, which then executes in an administrator's browser session and yields full administrative control of the management console. Organizations are only exposed where the TLS listener is configured with ssl_options.verify = verify_peer against a non-default trust store and an administrator can be induced to open the affected connection page. Leadership should care because a successful attack grants the ability to create users, export broker definitions, and perform any action a viewing administrator can, potentially exposing message data and credentials across every environment that broker supports.
Interim mitigations where the fix versions (3.13.15, 4.0.20, 4.1.11, 4.2.6) cannot yet be deployed: restrict management UI reachability to trusted administrative networks, remove unnecessary or third-party CAs from the broker trust store so attacker-obtained certificates cannot be presented, or temporarily set ssl_options.verify to verify_none on the TLS listener (accepting reduced mutual-TLS assurance), and monitor management UI access logs for unexpected connections; apply vendor patch at the earliest opportunity.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Sensitive credential disclosure in RabbitMQ affects installations running the management plugin with OAuth 2 configured
Pivotal RabbitMQ, versions 3.7.x prior to 3.7.21 and 3.8.x prior to 3.8.1, and RabbitMQ for Pivotal Platform, 1.16.x ver
Denial of service in the RabbitMQ Java client library (com.rabbitmq:amqp-client ≤ 5.30.0) allows a malicious or compromi
An issue was discovered in Pivotal RabbitMQ 3.x before 3.5.8 and 3.6.x before 3.6.6 and RabbitMQ for PCF 1.5.x before 1.
Parsing desynchronization in the RabbitMQ amqp091-go AMQP 0.9.1 client library before 1.13.0 lets a malicious or comprom
RabbitMQ's amqp091-go Go client library, in all versions before 1.13.0, builds TLS configuration from amqps:// URIs with
RabbitMQ is a multi-protocol messaging broker. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploita
RabbitMQ brokers that use the OAuth2 plugin can silently fall back to disabled TLS certificate verification when no CA b
Silent AMQP 0.9.1 metadata corruption in the RabbitMQ amqp091-go Go client library prior to 1.13.0 lets an application t
TLS client-authentication bypass in the RabbitMQ trust-store plugin lets a remote unauthenticated attacker whose forged
TLS certificate validation is completely bypassed in the RabbitMQ Java client library (`com.rabbitmq:amqp-client`) prior
Denial of service in the official RabbitMQ Go client library amqp091-go (versions prior to 1.13.0): a malicious, comprom
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| openSUSE Leap 15.6 | Affected |
| SUSE Linux Enterprise Server for NVIDIA 16.1 | Affected |
EUVD-2026-85628
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB