RabbitMQ amqp091-go: Denial of Service via Sub-Spec Frame Size Negotiation
## Summary A Denial of Service (DoS) vulnerability exists in the AMQP client's connection negotiation logic. The AMQP specification explicitly mandates a strict minimum frame size of 4096 bytes to prevent pathological packet fragmentation. While the library defines a `frameMinSize = 4096` constant, the connection negotiation loop fails to enforce this boundary, blindly accepting whatever maximum frame size (`FrameMax`) the server advertises during the handshake. If a client connects to a malicious or compromised AMQP broker that advertises an extremely low `FrameMax` (such as 1 byte), the negotiation succeeds. Consequently, every subsequent message transmission is forced to splinter into thousands or millions of single-byte frames, causing massive CPU overhead, thread contention, and a near-instantaneous application freeze. --- ## Vulnerability Details ### Mechanism During the connection establishment phase, the client and server negotiate connection parameters—including maximum channel count, heartbeat intervals, and maximum frame sizes. The vulnerability is located where the client accepts the server's tuning parameters: ```go // Connection negotiation logic maps server values directly without validation if serverSettings.FrameMax > 0 { // VULNERABILITY: Lacks a floor validation check against frameMinSize (4096) c.config.FrameMax = serverSettings.FrameMax } ``` Because there is no conditional check asserting that `serverSettings.FrameMax >= frameMinSize`, a value below the
GHSA-xwwf-m8fg-p9q2
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GHSA-xwwf-m8fg-p9q2
github.com/rabbitmq/amqp091-go
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 1.13.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.13.0"
}
]
}
],
"package": {
"name": "github.com/rabbitmq/amqp091-go",
"purl": "pkg:golang/github.com/rabbitmq/amqp091-go",
"ecosystem": "Go"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-xwwf-m8fg-p9q2/GHSA-xwwf-m8fg-p9q2.json"
}
}
]- Related CVEs
- CVE-2026-77403
Source reference:
/aliases
Publisher severity
high
Source reference: /database_specific/severity
- Event
- #63873 · Revision 1
- Added to Heist Feed
- Publisher date