Skip to content
Heist/ feed
HighFix available

RabbitMQ amqp091-go: Denial of Service via Sub-Spec Frame Size Negotiation

Type: advisorySource: OSV1 source record

## 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

Announced Source revision 1
Original source ↗

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
Read the original announcement