Skip to main content

amqp091-go EUVDEUVD-2026-80818

| CVE-2026-77405 CRITICAL
Inadequate Encryption Strength (CWE-326)
2026-09-16 GitHub_M GHSA-33mj-cw25-m34h
Critical
Disputed · 9.4 Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain on-path MITM position
  2. Delivery
    Client opens amqps connection
  3. Exploit
    Interfere with TLS negotiation
  4. Execution
    Force downgrade to TLS 1.0/1.1
  5. Persist
    Weaken transport encryption
  6. Impact
    Recover AMQP messages and credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Encryption strength requirements
Exploitation Conditions

Exploitation requires ALL of: (1) the affected application is built with a Go runtime whose crypto/tls defaults permit TLS 1.0 or TLS 1.1 - modern Go toolchains that enforce a TLS 1.2 minimum are NOT exploitable, making this the dominant limiter; (2) the client connects using an amqps:// URI whose tls.Config is produced by the library's tlsConfigFromURI path (i.e. not a user-supplied tls.Config that already sets MinVersion); and (3) an active man-in-the-middle attacker positioned on the network path who can influence the TLS handshake to force the obsolete-protocol downgrade. Passive eavesdropping alone is insufficient; the attacker must actively manipulate negotiation. This is not remote-unauthenticated exploitation against a default modern deployment - the legacy-Go-build precondition and required MITM foothold together sharply narrow real-world exposure.

Impact

This is a classic case of an inflated CVSS score masking modest real-world risk. The vendor CVSS 4.0 of 9.4 is not credible for a TLS-downgrade weakness: it claims VC:H/VI:H/SC:H, yet the flaw only enables an obsolete protocol to be negotiated and requires two independent, non-trivial preconditions reflected in the vector itself (AC:H + AT:P). Exploitation depends on (1) the application being compiled with a Go runtime whose defaults permit TLS 1.0/1.1 - modern Go toolchains (roughly Go 1.22+) already enforce a TLS 1.2 minimum, so the majority of current builds are NOT affected - and (2) an active on-path (MITM) attacker positioned to influence TLS negotiation and force the downgrade. There is no EPSS score, no CISA KEV listing, and no public exploit code, so this is 'no public exploit identified at time of analysis.' PR:N is confirmed by the vector (network attacker, no credentials), but note the attacker must already hold a privileged network position, which is a real limiter that CVSS attack-vector alone does not convey. Bottom line: a legitimate hardening fix, but a low operational priority - treat the 9.4 as over-scored and prioritize based on whether you run legacy Go builds and face MITM exposure. The primary impact is confidentiality of AMQP messages/credentials with limited integrity exposure, not the full high-triad the vendor asserts.

Exploit ScenarioDerived

An attacker with a man-in-the-middle position on the network path between an amqp091-go client (built with an older Go runtime that still permits TLS 1.0/1.1) and its RabbitMQ broker interferes with the TLS handshake to force negotiation of an obsolete protocol version. With the downgraded, weaker transport in place, the attacker can attempt to decrypt or tamper with AMQP traffic, exposing message contents and broker credentials. No public proof-of-concept exists, and the attack is opportunistic - it requires both the legacy build condition and an active in-path foothold.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 16, 2026

RabbitMQ's amqp091-go Go client library, in all versions before 1.13.0, builds TLS configuration from amqps:// URIs without setting a minimum protocol version, so builds that use a Go runtime permitting TLS 1.0 or 1.1 can negotiate an obsolete protocol. An active man-in-the-middle positioned on the network path could then force a downgrade and weaken the confidentiality and integrity of AMQP traffic, including credentials, though the independently assessed vector (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N) shows this requires a high degree of attacker positioning plus the legacy-toolchain precondition, and the published 9.4 CVSS 4.0 score overstates real-world exposure for modern deployments. The fix is a two-line MinVersion change shipped in version 1.13.0; no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to amqp091-go v1.13.0 or later (release notes at https://github.com/rabbitmq/amqp091-go/releases/tag/v1.13.0), which sets tls.VersionTLS12 in both branches of tlsConfigFromURI via commit c9fd433ecac2e557919e51acc9d809390c402c6e and PR https://github.com/rabbitmq/amqp091-go/pull/355; if upgrading is delayed, the practical workaround is to stop relying on the URI-derived config and instead build your own *tls.Config with MinVersion set to tls.VersionTLS12 (or tls.VersionTLS13) and pass it through DialTLS, noting the documented caveat that the library will not override your custom config. Recompiling the same source with a modern Go toolchain that enforces a TLS 1.2 minimum also closes the downgrade window without a code change, at the cost of breaking connectivity to any broker or load balancer that still only offers TLS 1.0/1.1. The operational trade-off of enforcing TLS 1.2 is loss of interoperability with genuinely legacy RabbitMQ endpoints, so inventory peer TLS capabilities before enabling the floor; there is no configuration flag inside the pre-1.13.0 library that achieves this, since it is a compile-time gap in generated tls.Config values.

Affected VersionsENISA

amqp091-go < 1.13.0

Affected Packages

go github.com/rabbitmq/amqp091-go fix: 1.13.0
euvd amqp091_go fix: 1.13.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is a Go AMQP 0.9.1 client (github.com/rabbitmq/amqp091-go, CPE cpe:2.3:a:rabbitmq:amqp091-go) used to talk to RabbitMQ brokers. The root cause class is CWE-326, Inadequate Encryption Strength: the helper tlsConfigFromURI in uri.go constructs a *tls.Config without populating MinVersion, which leaves the floor at the crypto/tls default of whatever Go toolchain compiled the binary rather than asserting tls.VersionTLS12. On older Go runtimes (or builds where the default minimum was relaxed via toolchain settings/GODEBUG behavior), that default still permits TLS 1.0 and TLS 1.1, so the handshake can settle on a long-deprecated protocol. The upstream diff in PR 355 adds 'MinVersion: tls.VersionTLS12' to both branches of tlsConfigFromURI, adds documentation warnings that user-supplied tls.Config values are not overridden by Dial/DialTLS, and adds unit tests asserting MinVersion on configs constructed with and without CA/client certificate files. Because the flaw is a missing hardening default rather than a protocol-parsing bug, exploitation is only relevant to the URI-derived config path, not to applications that already pass their own tls.Config with MinVersion set.

Know when Rabbitmq gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Sources disagree (Low–Critical)
Vendor (GitHub_M) PRIMARY 9.4 CRITICAL
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:L/SA:N
vuln.today AI 6.5 MEDIUM

AC:H for the combined legacy-Go-build precondition and active MITM required to force a downgrade; PR:N as no credentials are needed; C:H for exposed messages/credentials, I:L limited tampering, A:N.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
SUSE 3.7 LOW
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Red Hat 7.4 HIGH

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 16, 2026 - 16:04 EUVD
CVE Published
Sep 16, 2026 - 14:42 cve.org
CRITICAL 9.4

DescriptionCVE.org

RabbitMQ amqp091-go is a Go AMQP 0.9.1 client. Prior to 1.13.0, tlsConfigFromURI in uri.go creates tls.Config values without setting MinVersion to tls.VersionTLS12. Builds using a Go runtime whose default permits TLS 1.0 or TLS 1.1 can therefore negotiate an obsolete protocol version when connecting through an amqps URI. A network attacker able to influence TLS negotiation with such a legacy build may weaken transport protection for AMQP messages and credentials. This issue is fixed in version 1.13.0.

Technical POC Analysis

CWE-326: Inadequate Encryption Strength.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

The RabbitMQ amqp091-go client library (all versions before 1.13.0) can be induced to negotiate obsolete TLS when the connecting application runs on an older Go toolchain, letting a network-positioned adversary downgrade AMQP sessions and read broker credentials. The CVSS vector shows the attacker needs no authentication (PR:N), but exploitation requires an active man-in-the-middle on the network path plus the legacy-toolchain precondition, so the published 9.4 score overstates exposure for modern, TLS 1.2+ deployments; no public exploit identified at time of analysis. Leadership should care because AMQP credentials frequently guard high-value message flows, and the fix is a low-cost dependency upgrade rather than an architectural change.

Business Impact: Medium
Compensating Controls

Apply vendor patch (amqp091-go 1.13.0). Where immediate upgrade is not possible, set tls.Config MinVersion to tls.VersionTLS12 in the client, migrate off Go runtimes that permit TLS 1.0/1.1, and restrict AMQP traffic to trusted network paths to remove the man-in-the-middle requirement.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
official Go RabbitMQ client, widely used in Go microservices but not ubiquitous
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Medium

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +47
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-57219 HIGH POC
8.7 Jul 10

Sensitive credential disclosure in RabbitMQ affects installations running the management plugin with OAuth 2 configured

CVE-2019-11287 HIGH POC
7.5 Nov 23

Pivotal RabbitMQ, versions 3.7.x prior to 3.7.21 and 3.8.x prior to 3.8.1, and RabbitMQ for Pivotal Platform, 1.16.x ver

CVE-2026-63335 MEDIUM POC
6.3 Aug 18

Denial of service in the RabbitMQ Java client library (com.rabbitmq:amqp-client ≤ 5.30.0) allows a malicious or compromi

CVE-2016-9877 CRITICAL
9.8 Dec 29

An issue was discovered in Pivotal RabbitMQ 3.x before 3.5.8 and 3.6.x before 3.6.6 and RabbitMQ for PCF 1.5.x before 1.

CVE-2026-77411 CRITICAL
9.5 Sep 16

Parsing desynchronization in the RabbitMQ amqp091-go AMQP 0.9.1 client library before 1.13.0 lets a malicious or comprom

CVE-2021-32718 MEDIUM POC
5.4 Jun 28

RabbitMQ is a multi-protocol messaging broker. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploita

CVE-2026-67404 CRITICAL
9.2 Sep 23

RabbitMQ brokers that use the OAuth2 plugin can silently fall back to disabled TLS certificate verification when no CA b

CVE-2026-77408 CRITICAL
9.1 Sep 16

Silent AMQP 0.9.1 metadata corruption in the RabbitMQ amqp091-go Go client library prior to 1.13.0 lets an application t

CVE-2026-67231 CRITICAL
9.1 Sep 23

TLS client-authentication bypass in the RabbitMQ trust-store plugin lets a remote unauthenticated attacker whose forged

CVE-2026-63336 MEDIUM POC
5.1 Aug 18

TLS certificate validation is completely bypassed in the RabbitMQ Java client library (`com.rabbitmq:amqp-client`) prior

CVE-2026-77412 HIGH
8.9 Sep 16

Denial of service in the official RabbitMQ Go client library amqp091-go (versions prior to 1.13.0): a malicious, comprom

CVE-2026-77410 HIGH
8.9 Sep 16

Memory-exhaustion denial of service in the official RabbitMQ Go AMQP 0.9.1 client library (amqp091-go) prior to 1.13.0 l

Vendor StatusVendor

SUSE

Severity: Low
Product Status
SUSE Linux Enterprise Module for SAP Applications 15 SP7 Affected
SUSE Linux Enterprise Server for SAP Applications 15 SP7 Affected
SUSE Linux Enterprise Server for SAP applications 16.0 Affected
SUSE Linux Enterprise Server for SAP applications 16.1 Affected
openSUSE Leap 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy