CVE-2026-77409: RabbitMQ amqp091-go: Denial of Service via Synchronous Event Channel Blocking
RabbitMQ amqp091-go is a Go AMQP 0.9.1 client. Prior to 1.13.0, Channel.dispatch in channel.go, confirms.confirm in confirms.go, and Connection.dispatch0 in connection.go synchronously send publisher confirmations, flow-control events, consumer cancellations, returned messages, including NotifyConfirm events and connection block notifications, to application-provided channels. If a listener channel is unbuffered, full, or not drained promptly, the sole reader goroutine blocks and stops processing frames, acknowledgments, deliveries, and heartbeats. Broker-driven event bursts can therefore cause connection stalls, missed heartbeats, deadlocks, and disconnection. This issue is fixed in version 1.13.0.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
RabbitMQ amqp091-goto a version that resolves this vulnerability.Fixed in 1.13.0
Event History
Frequently Asked Questions
Which applications are exposed to this issue?
Applications using RabbitMQ amqp091-go versions before 1.13.0 are exposed when they register application-provided channels for publisher confirmations, flow-control events, consumer cancellations, returned messages, NotifyConfirm events, or connection block notifications. The risk is present if those channels can be unbuffered, become full, or are not drained promptly.
What conditions cause exploitation or service disruption?
A broker-driven burst of relevant events can trigger the condition when delivery to an application listener channel blocks. Because the affected sends occur on the sole reader goroutine, one blocked listener can prevent processing of frames, acknowledgments, deliveries, and heartbeats.
How can teams identify a potentially affected deployment?
Review use of the affected event-notification APIs and determine whether their receiving channels are unbuffered, insufficiently buffered, full during load, or not continuously consumed. Operational symptoms can include connection stalls, missed heartbeats, deadlocks, and disconnections during event bursts.
What is the available remediation?
Upgrade RabbitMQ amqp091-go to version 1.13.0, which fixes the issue. If an upgrade cannot occur immediately, ensure application listener channels are drained promptly and do not block event delivery.