CVE-2026-66079 Overview
CVE-2026-66079 is an unauthenticated denial-of-service vulnerability in RabbitMQ, a widely deployed messaging and streaming broker. The flaw resides in the Advanced Message Queuing Protocol (AMQP) 1.0 frame parser and allows a remote attacker to crash any RabbitMQ node exposing the default AMQP listener on port 5672. A single ~19-byte SASL frame exhausts heap memory and terminates the Erlang virtual machine, taking down all tenants and protocols hosted on the node. The issue is tracked under [CWE-770: Allocation of Resources Without Limits or Throttling] and is fixed in versions 3.13.15, 4.0.20, 4.1.11, and 4.2.6.
Critical Impact
An unauthenticated network attacker can crash any RabbitMQ node with the AMQP 1.0 listener enabled by sending one malformed frame, causing full loss of messaging service across all tenants and protocols.
Affected Products
- RabbitMQ Server versions prior to 3.13.15
- RabbitMQ Server 4.0.x prior to 4.0.20 and 4.1.x prior to 4.1.11
- RabbitMQ Server 4.2.x prior to 4.2.6
Discovery Timeline
- 2026-09-23 - CVE-2026-66079 published to the National Vulnerability Database
- 2026-09-23 - Last updated in NVD database
Technical Details for CVE-2026-66079
Vulnerability Analysis
The vulnerability is a pre-authentication resource exhaustion flaw in the AMQP 1.0 framing decoder. The amqp10_framing:decode_bin/1 function, invoked from rabbit_amqp_reader.erl:412, parses SASL-mechanisms and SASL-init frames before authentication completes. This exposes the parser directly to unauthenticated network input.
Inside the decoder, parse_array_primitive/2 handles the AMQP list0 type identified by constructor byte 0x45. This constructor represents an empty list and returns an element descriptor with byte-width B = 0. The enclosing array32 parser then reads a 4-byte Count field from the wire and iterates Count times, consuming B bytes per element.
When B is zero, the loop consumes no input on each iteration. The parser instead allocates Count empty list elements, where Count is a 32-bit attacker-controlled integer. No max_heap_size limit is enforced on the reader process, so the Erlang VM allocates memory until the operating system terminates the node.
Root Cause
The root cause is missing validation of the Count field relative to the element byte-width in the array32 decoder path. The pre-auth incoming_max_frame_size (default 8192 bytes) bounds the frame size on the wire but does not bound the number of elements the parser will materialize when B = 0. A 19-byte payload with Count = 0xFFFFFFFF therefore instructs the parser to build a list of roughly four billion empty elements.
Attack Vector
Exploitation requires only network reachability to the AMQP 1.0 listener on TCP port 5672, which is enabled by default. The attacker sends a single crafted SASL frame containing an array32 structure with constructor 0x45 and a maximal Count value. The RabbitMQ reader process attempts to construct the oversized list, exhausts heap memory, and the Erlang VM terminates. All queues, exchanges, and connected clients across every protocol on the node lose service until the process restarts.
No verified exploit code is published. See the GitHub Security Advisory GHSA-c66h-hf5j-8jf9 for the vendor's technical description.
Detection Methods for CVE-2026-66079
Indicators of Compromise
- Unexpected Erlang VM crashes or beam.smp process terminations on RabbitMQ nodes, particularly with out-of-memory (OOM) killer entries in system logs.
- RabbitMQ reader process errors referencing amqp10_framing:decode_bin/1 or rabbit_amqp_reader.erl immediately before node termination.
- Short-lived inbound TCP sessions to port 5672 from untrusted sources that close abruptly after transmitting a small payload.
Detection Strategies
- Alert on repeated RabbitMQ node restarts or supervisor-driven process crashes within short time windows.
- Inspect network telemetry for AMQP 1.0 SASL frames containing array32 structures where the element count field is disproportionately large relative to the frame size.
- Correlate authentication failures and connection resets on port 5672 with node availability metrics to surface pre-auth abuse patterns.
Monitoring Recommendations
- Track Erlang VM memory usage and process heap growth on all broker nodes; sudden allocation spikes on reader processes are a strong signal.
- Ingest RabbitMQ, systemd, and kernel OOM logs into a centralized analytics platform to link crashes to inbound connection sources.
- Monitor exposure of TCP/5672 at the network perimeter and cloud security-group level to identify unintended internet-facing brokers.
How to Mitigate CVE-2026-66079
Immediate Actions Required
- Upgrade RabbitMQ Server to 3.13.15, 4.0.20, 4.1.11, or 4.2.6 as appropriate for your release branch.
- Restrict network access to TCP port 5672 using firewalls, security groups, or service mesh policies so that only trusted application clients can reach the AMQP listener.
- Audit inventory for internet-exposed RabbitMQ nodes and place them behind authenticated ingress controls or a VPN.
Patch Information
The vendor released fixes in RabbitMQ 3.13.15, 4.0.20, 4.1.11, and 4.2.6. Refer to the RabbitMQ Server Release v4.2.6 notes and the GitHub Security Advisory GHSA-c66h-hf5j-8jf9 for release artifacts and upgrade guidance. Restart broker nodes in a rolling fashion to apply the patch without full cluster downtime.
Workarounds
- Disable the AMQP 1.0 plugin (rabbitmq_amqp1_0) if applications do not require the AMQP 1.0 protocol, eliminating the vulnerable code path.
- Terminate AMQP connections at an authenticating proxy or TLS-mutual-auth gateway so unauthenticated clients cannot reach the reader process.
- Enforce network-layer allowlists limiting port 5672 to known producer and consumer IP ranges until patching is complete.
# Disable the AMQP 1.0 plugin as a temporary mitigation
rabbitmq-plugins disable rabbitmq_amqp1_0
# Restrict access to the AMQP listener at the host firewall (Linux example)
iptables -A INPUT -p tcp --dport 5672 -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p tcp --dport 5672 -j DROP
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

