
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-67416 is an AMQP 1.0 symbolic body descriptor prefix collision vulnerability in RabbitMQ that allows an authenticated publisher to inject a "poison message" capable of terminating consumer protocol processes. The flaw exists in the optimized server_mode parser within deps/amqp10_common/src/amqp10_binary_parser.erl, which matches body descriptor symbols by textual prefix without verifying the encoded symbol length. Affected versions span RabbitMQ 4.0.0 through 4.0.23, 4.1.0 through 4.1.14, 4.2.0 through 4.2.9, and 4.3.0 through 4.3.3. It carries a CVSS v4.0 base score of 5.3 (Medium) (GitHub Advisory, Feedly).
The root cause (CWE-20, CWE-248, CWE-754) lies in six fast-path pattern-matching clauses in amqp10_binary_parser.erl that bind the symbol length variable _S without comparing it against the exact registered descriptor lengths (16 for amqp:data:binary, 23 for amqp:amqp-sequence:list, 17 for amqp:amqp-value:*). As a result, any described value whose descriptor merely begins with one of these registered prefixes — regardless of declared length — is misclassified as the corresponding standard body section and stored verbatim across classic, quorum, and stream queues. The primary proof-of-concept uses the well-formed but unknown descriptor amqp:data:binary@ (sym8, declared length 17): when this stored entry is later decoded during AMQP 0-9-1 cross-protocol conversion, amqp10_framing:decode_bin/1 calls record_for/1 on the unknown descriptor and exits with {unknown, {symbol, <<"amqp:data:binary@">>}}, terminating the consumer protocol process. With acknowledgement-required delivery, the undelivered message is requeued and the failure repeats on reconnection (GitHub Advisory, Fix Commit).
The primary impact is a targeted availability denial against AMQP 1.0 consumers and AMQP 0-9-1 consumer protocol processes: affected consumers terminate while decoding the stored poison message, and with acknowledgement-required delivery the failure can repeat indefinitely after reconnection. The RabbitMQ broker node itself remains alive, and the vulnerability does not bypass routing, authorization, or tenant isolation. There is no confidentiality or integrity impact — an authorized publisher can, however, disrupt consumption by another principal sharing the same queue, crossing a tenant boundary in multi-tenant deployments (GitHub Advisory).
No public exploit kit or weaponized tooling has been reported, and there is no evidence of in-the-wild exploitation as of the disclosure date. The vulnerability requires authenticated AMQP 1.0 access with write permission to a target exchange or queue, and a victim must consume the stored entry via a strict AMQP 1.0 decoder or a cross-protocol conversion path. A minimal deterministic proof-of-concept is included in the GitHub Security Advisory and can be reproduced with a standard Erlang/OTP 27 environment. The EPSS score is 0.0, and the vulnerability is not listed in the CISA KEV catalog (GitHub Advisory, Feedly).
amqp:data:binary@ (sym8, declared length 17):00 a3 11 61 6d 71 70 3a 64 61 74 61 3a 62 69 6e 61 72 79 40 a0 03 61 62 63server_mode parser misclassifies the descriptor as a standard data body section and stores the raw bytes unchanged.amqp10_framing:decode_bin/1, which exits with {unknown, {symbol, <<"amqp:data:binary@">>}}, terminating the consumer protocol process.{unknown, {symbol, <<"amqp:data:binary@">>}} or similar Erlang exit errors originating from amqp10_framing or mc_amqp modules; consumer protocol process crash reports in rabbit.log.00 a3 11 61 6d 71 70 3a 64 61 74 61 3a 62 69 6e 61 72 79 40 (sym8 amqp:data:binary@) or similar prefix-colliding descriptors.rabbit_reader, rabbit_amqp_session) without corresponding broker node restarts (GitHub Advisory).RabbitMQ has released patched versions that enforce exact symbol length matching in all six fast-path clauses of the server_mode parser: 4.0.24, 4.1.15, 4.2.10, and 4.3.4. The fix modifies deps/amqp10_common/src/amqp10_binary_parser.erl to require the declared symbol length to equal exactly 16 (data), 23 (sequence), or 17 (value), falling through to normal parsing otherwise. No configuration-based workaround is available; upgrading to a patched version is the only remediation. Operators should also consider implementing ingress body validation and catching parser exits at protocol conversion boundaries as defense-in-depth measures (GitHub Advisory, Fix PR, Fix Commit).
The vulnerability was reported by researcher kjsxz and the advisory was published by RabbitMQ maintainer michaelklishin on July 23, 2026. The fix was reviewed and merged the same day by maintainer lhoguin, reflecting a rapid response from the RabbitMQ team. The NixOS security tracker also flagged the issue for downstream packaging updates (GitHub Advisory, Fix PR).
Fix availability across major Linux distributions and their releases.
bookworm
rabbitmq-server
sid
rabbitmq-server: 4.3.6-1
trixie
rabbitmq-server
bionic (esm-infra)
rabbitmq-server
devel
rabbitmq-server
focal (esm-infra)
rabbitmq-server
jammy
rabbitmq-server
noble
rabbitmq-server
resolute
rabbitmq-server
xenial (esm-infra-legacy)
rabbitmq-server
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."