Junglewise Threat Intelligence

CVE-2026-77406: RabbitMQ amqp091-go resource exhaustion via signed-to-unsigned integer casting in QoS

CVE-2026-77406 · Severity: high · Published 2026-09-17

Executive brief

The RabbitMQ Go AMQP client library contains a flaw in its Quality of Service (QoS) configuration that converts negative parameter values to very large unsigned integers. When a developer passes a negative number (commonly used to mean "no limit") for message prefetch settings, the client silently converts it to maximum values instead, causing the message broker to flood the application with unlimited messages. This can rapidly exhaust memory and crash the application.

Technical details

The vulnerability exists in the AMQP client's Qos method, which accepts signed integers (int) for prefetchCount and prefetchSize but directly casts them to unsigned integers (uint16 and uint32) without validation. Go's implicit signed-to-unsigned conversion via two's complement wraps negative values to maximum range limits (e.g., -1 becomes 65535 or 4294967295). An attacker or misconfigured application that passes negative integers to these parameters triggers an unintended maximum-capacity QoS request, causing the broker to send an unlimited stream of messages to the consumer. The attack vector is application-level configuration manipulation; no authentication bypass or network exploitation is required. The resulting message flood causes rapid memory exhaustion and denial of service.

Affected products

  • RabbitMQ amqp091-go affected versions prior to patch

Timeline

  • 2026-09-17: disclosed

Related threats