Description
RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, and 4.3.0, The cowboy WebSocket options at line 117 set compress => true, enabling RFC 7692 permessage-deflate negotiation. The handler does not set max_frame_size, so cowboy's default of infinity applies. cowlib's cow_ws:parse_payload/9 calls zlib:inflate/2 on the compressed payload with no output-size limit. An attacker can negotiate permessage-deflate during the WebSocket upgrade and send a frame containing a zlib bomb (e.g. 50 KB → 5 GB). Decompression occurs in the connection process before websocket_handle/2 ever sees the MQTT bytes. An unauthenticated attacker can crash a RabbitMQ node running the Web-MQTT plugin by sending a single highly-compressed WebSocket frame (a few KB on the wire) that inflates to gigabytes in memory. The cowboy WebSocket handler decompresses the entire frame before the MQTT CONNECT packet is processed, so no credentials are required. Preconditions include rabbitmq_web_mqtt plugin enabled (not default, but common for browser clients) Network reachability to port 15675/15676 No authentication required. This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, and 4.3.0.
Published: 2026-09-23
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: Denial of Service through memory exhaustion
Action: Patch Now
AI Analysis

Impact

A compressed WebSocket frame can trigger a decompression bomb in the RabbitMQ Web-MQTT plugin, causing the node to allocate gigabytes of memory and crash. The vulnerability arises because the underlying WebSocket handler inflates frames without imposing an output‑size limit, so a tiny packet on the wire can expand to massive memory usage before any MQTT packet is processed. This results in a service disruption but does not expose data or allow arbitrary code execution.

Affected Systems

Unofficial RabbitMQ Server installations running any of the following pre‑patch versions are affected: 3.13.14 and earlier, 4.0.19 and earlier, 4.1.10 and earlier, 4.2.5 and earlier, and 4.2.5‑prior to 4.3.0. The bug is present only when the rabbitmq_web_mqtt plugin is enabled and the broker listens on the default Web‑MQTT ports (15675 for WebSocket over TLS or 15676 for clear text). Any environment permitting unauthenticated network traffic to these ports is at risk.

Risk and Exploitability

The CVSS score of 8.2 indicates a high severity of this denial‑of‑service flaw. The EPSS score is unavailable, and the vulnerability is not listed in the CISA KEV catalog. An attacker can reach the vulnerable endpoint from any network that can connect to port 15675 or 15676, negotiate the permessage-deflate extension, and send a single maliciously compressed frame that inflates to gigabytes of memory. No credentials are required, so any host with outbound connectivity to the broker can trigger the crash. Once the node is exhausted, normal broker operations cease until it is restarted, leading to significant downtime for dependent applications.

Generated by OpenCVE AI on September 23, 2026 at 22:29 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade RabbitMQ Server to at least version 3.13.15, 4.0.20, 4.1.11, 4.2.6, or 4.3.0 to apply the fixed Web‑MQTT handler.
  • Disable the rabbitmq_web_mqtt plugin if browser‑based MQTT clients are not required to reduce the attack surface. If the plugin must remain active, ensure it is bound only to trusted IP ranges or networks.
  • Restrict access to the Web‑MQTT ports (15675 and 15676) through firewalls or network segmentation, and consider requiring authentication or VPN access before allowing traffic to these endpoints.

Generated by OpenCVE AI on September 23, 2026 at 22:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 23 Sep 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Rabbitmq
Rabbitmq rabbitmq-server
Vendors & Products Rabbitmq
Rabbitmq rabbitmq-server

Wed, 23 Sep 2026 21:00:00 +0000

Type Values Removed Values Added
Description RabbitMQ is a messaging and streaming broker. Prior to versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, and 4.3.0, The cowboy WebSocket options at line 117 set compress => true, enabling RFC 7692 permessage-deflate negotiation. The handler does not set max_frame_size, so cowboy's default of infinity applies. cowlib's cow_ws:parse_payload/9 calls zlib:inflate/2 on the compressed payload with no output-size limit. An attacker can negotiate permessage-deflate during the WebSocket upgrade and send a frame containing a zlib bomb (e.g. 50 KB → 5 GB). Decompression occurs in the connection process before websocket_handle/2 ever sees the MQTT bytes. An unauthenticated attacker can crash a RabbitMQ node running the Web-MQTT plugin by sending a single highly-compressed WebSocket frame (a few KB on the wire) that inflates to gigabytes in memory. The cowboy WebSocket handler decompresses the entire frame before the MQTT CONNECT packet is processed, so no credentials are required. Preconditions include rabbitmq_web_mqtt plugin enabled (not default, but common for browser clients) Network reachability to port 15675/15676 No authentication required. This issue is fixed in versions 3.13.15, 4.0.20, 4.1.11, 4.2.6, and 4.3.0.
Title RabbitMQ: Web-MQTT decompression bomb
Weaknesses CWE-409
References
Metrics cvssV4_0

{'score': 8.2, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Rabbitmq Rabbitmq-server
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-23T20:42:23.130Z

Reserved: 2026-07-28T19:50:39.438Z

Link: CVE-2026-67232

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-23T21:17:01.083

Modified: 2026-09-23T21:17:01.083

Link: CVE-2026-67232

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-23T22:45:10Z

Weaknesses
  • CWE-409

    Improper Handling of Highly Compressed Data (Data Amplification)