Skip to main content
Vulnerability Database/CVE-2026-67221

CVE-2026-67221: RabbitMQ Information Disclosure Vulnerability

CVE-2026-67221 is an information disclosure vulnerability in RabbitMQ that exposes AMQP 1.0 shovel connection passwords through API endpoints. This post explains its impact, affected versions, and mitigation steps.

Published:

CVE-2026-67221 Overview

CVE-2026-67221 is a cleartext credential storage vulnerability [CWE-312] in RabbitMQ, an open source messaging and streaming broker. The AMQP 1.0 shovel stores the raw connection URI including embedded passwords, while the AMQP 0-9-1 shovel correctly strips credentials via amqp_uri:remove_credentials before storage. The exposed URI is returned by GET /api/shovels and rabbitmqctl shovel_status, making passwords visible to any user holding the monitoring tag. The issue affects deployments using the Shovel plugin with AMQP 1.0 shovels configured through URI-embedded credentials.

Critical Impact

Authenticated users with the monitoring tag can retrieve plaintext credentials for upstream AMQP 1.0 brokers, enabling lateral movement across connected messaging infrastructure.

Affected Products

  • RabbitMQ Server versions prior to 3.13.15
  • RabbitMQ Server 4.0.x prior to 4.0.20, 4.1.x prior to 4.1.11, and 4.2.x prior to 4.2.6
  • Deployments using the Shovel plugin with AMQP 1.0 shovels and URI-embedded credentials

Discovery Timeline

  • 2026-09-23 - CVE-2026-67221 published to NVD
  • 2026-09-23 - Last updated in NVD database

Technical Details for CVE-2026-67221

Vulnerability Analysis

The RabbitMQ Shovel plugin moves messages between brokers using either the AMQP 0-9-1 or AMQP 1.0 protocol. The AMQP 0-9-1 code path sanitizes connection strings by invoking amqp_uri:remove_credentials before persisting shovel state. The AMQP 1.0 code path omits this sanitization step and stores the raw URI, including any password embedded in the userinfo component. Any operator querying shovel status through the management HTTP API or the CLI receives the unredacted URI. The result is credential disclosure to accounts that were intentionally granted read-only observability rights.

Root Cause

The root cause is an inconsistency between the two shovel implementations. The AMQP 0-9-1 shovel treats the URI as sensitive and normalizes it prior to storage. The AMQP 1.0 shovel treats the URI as opaque configuration and retains it verbatim in the internal state visible through management interfaces. This maps to Cleartext Storage of Sensitive Information [CWE-312].

Attack Vector

Exploitation requires an authenticated RabbitMQ account with the monitoring tag. The attacker issues an HTTP GET request to /api/shovels on the management plugin endpoint, or runs rabbitmqctl shovel_status on a node they can access. The response body contains the source or destination URI in the form amqp://user:password@host for every configured AMQP 1.0 shovel. Recovered credentials can then be reused against the upstream or downstream broker, expanding access beyond the compromised RabbitMQ node.

No verified public exploit code is available. Refer to the GitHub Security Advisory GHSA-x5h5-588r-cv55 for the vendor's technical description.

Detection Methods for CVE-2026-67221

Indicators of Compromise

  • Unexpected GET /api/shovels requests in the RabbitMQ management plugin access log, especially from accounts that do not normally interact with shovel state.
  • Execution of rabbitmqctl shovel_status by operators outside standard change windows.
  • Authentication events on upstream or downstream AMQP brokers originating from IP addresses that previously only queried RabbitMQ management APIs.

Detection Strategies

  • Enumerate all configured AMQP 1.0 shovels and identify any whose source or destination URI contains embedded userinfo credentials.
  • Enable and centralize RabbitMQ management HTTP access logs, then alert on reads of /api/shovels by accounts holding only the monitoring tag.
  • Correlate broker authentication logs across environments to identify credential reuse patterns following shovel status queries.

Monitoring Recommendations

  • Ingest RabbitMQ management API and rabbitmqctl audit events into a centralized logging pipeline with retention sufficient for retrospective review.
  • Review the membership of the monitoring tag on a recurring basis and remove accounts that no longer require observability rights.
  • Monitor for creation or modification of shovel definitions that include URI-embedded credentials rather than a src-uri referencing a credential-less endpoint.

How to Mitigate CVE-2026-67221

Immediate Actions Required

  • Upgrade RabbitMQ to version 3.13.15, 4.0.20, 4.1.11, 4.2.6, or 4.3.0 as documented in the RabbitMQ Server Release 4.2.6 notes.
  • Rotate every credential embedded in an existing AMQP 1.0 shovel URI, assuming disclosure to any account with the monitoring tag.
  • Audit and reduce assignment of the monitoring tag to the minimum set of operational accounts.

Patch Information

The vendor fixed the issue in RabbitMQ Server 3.13.15, 4.0.20, 4.1.11, 4.2.6, and 4.3.0. Details are published in GitHub Security Advisory GHSA-x5h5-588r-cv55. After upgrade, redefine affected shovels so credentials are supplied outside the URI wherever supported.

Workarounds

  • Replace URI-embedded credentials with shovel configuration options that pass authentication material separately from the connection URI.
  • Temporarily disable AMQP 1.0 shovels that must use URI-embedded credentials until the upgrade is complete.
  • Restrict network access to the RabbitMQ management HTTP endpoint so that only trusted operator networks can reach /api/shovels.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.