ZeroHour

CVE-2026-77412

mass

Negative-length allocation DoS in RabbitMQ amqp091-go Go client

CVSS 4.0
8.9 high
EPSS
Published
()
Modified
AI analysis

RabbitMQ's amqp091-go library, the standard Go AMQP 0.9.1 client, prior to version 1.13.0 reads the length of an AMQP byte-array field (type tag 'x') in readField (read.go) into a signed int32 and passes it directly to make() when allocating the field buffer. A malicious or compromised broker can encode a length of 0xFFFFFFFF, which is interpreted as -1 and triggers a 'len out of range' runtime panic. The panic escapes the network reader goroutine and terminates the entire client process, and can be triggered during parsing of connection.start server properties or message header tables, i.e., essentially any interaction with a hostile broker. An attacker who controls or compromises the broker gains denial of service against every Go client connecting to it, with no confidentiality or integrity impact indicated by the CVSS vector (VA:H, VC:N, VI:N). Any Go application using amqp091-go before 1.13.0 is affected; no public PoC or known exploitation exists and the issue is not in CISA KEV.

What to do: Upgrade amqp091-go to version 1.13.0 or later (e.g., 'go get github.com/rabbitmq/[email protected]') and audit go.mod / dependency graphs for vulnerable versions. Until patched, restrict clients to trusted brokers, lock down broker access and credentials (the flaw requires a malicious or compromised broker), and monitor for unexplained client process restarts/crashes.

Affected
RabbitMQ amqp091-go (Go AMQP 0.9.1 client library)All versions prior to 1.13.0
Estimated exposure
massmillions of downstream Go applications/services (standard RabbitMQ Go client, very high module-download volume), though only deployments connecting to an… — amqp091-go is the official, de facto RabbitMQ client for Go and is embedded as a dependency in a very large number of Go services (millions of proxy.golang.org module downloads), so adoption is plausibly in the millions of builds; this is…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

RabbitMQ amqp091-go is a Go AMQP 0.9.1 client. Prior to 1.13.0, readField in read.go reads the length of an AMQP byte-array field with type tag x into a signed int32 and passes the value directly to make when allocating the field buffer. A malicious or compromised broker can encode a value such as 0xFFFFFFFF, which becomes -1 and causes a len out of range runtime panic. The panic escapes the network reader goroutine and terminates the client process, including during connection.start server properties or message header table parsing. This issue is fixed in version 1.13.0.

Weakness
CWE-681
Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.