CVE-2026-107386 in amqp091-goinfo

Summary

by MITRE • 10/08/2026

amqp091-go is a Go AMQP 0.9.1 client. From 1.13.0 until 1.14.0, the frame-size mitigation from the prior allocation advisory can be bypassed before connection.tune completes because Connection.maxFrameSize uses zero for both the not-yet-negotiated and negotiated-unlimited states. A malicious or compromised AMQP peer can send a short body-frame header with a large declared payload length, causing ReadFrame and the body-frame parser to allocate attacker-selected memory before the payload is received or the frame's protocol state is rejected. The condition is reachable through public Open even when Config.FrameSize is set to the protocol minimum and can cause severe memory pressure, out-of-memory termination, or loss of the client process before authentication completes. This issue is fixed in version 1.14.0.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 10/08/2026

The vulnerability identified within the amqp091-go library represents a critical resource exhaustion flaw rooted in improper input validation during the AMQP protocol negotiation phase. Specifically, this issue affects versions ranging from 1.13.0 to 1.14.0 and stems from an incorrect handling of frame size limits before the connection.tune exchange is fully completed. In standard AMQP 0.9.1 operations, clients and servers negotiate a maximum frame size to prevent excessive memory consumption. However, in this vulnerable state, the Connection.maxFrameSize field incorrectly defaults to zero for both not-yet-negotiated states and negotiated-unlimited scenarios. This logical error creates a window of opportunity where the client fails to enforce strict bounds on incoming data structures prior to establishing secure communication parameters.

The technical mechanism of exploitation involves an attacker sending a specifically crafted frame header that declares a significantly larger payload length than what would be permitted under normal protocol constraints. Because the library allocates memory for the body-frame based on this declared length before validating the actual content or completing the handshake, it effectively allows an adversary to dictate the amount of system resources consumed by the client process. This allocation occurs within ReadFrame and the subsequent body-frame parser, triggering immediate memory commitment from the host system regardless of whether the payload is subsequently received or rejected due to protocol state violations.

The operational impact of this vulnerability is severe, primarily manifesting as a denial-of-service condition through resource exhaustion. A malicious or compromised AMQP peer can trigger this flaw even when the client configuration explicitly sets FrameSize to the protocol minimum value, indicating that the mitigation logic was bypassed entirely during the pre-authentication phase. The consequence is substantial memory pressure on the host machine, which can lead to out-of-memory termination of the application process or a complete loss of service availability before authentication has even completed. This undermines the security posture by allowing attackers to disrupt services at an early stage in the connection lifecycle, potentially bypassing access controls that rely on successful authentication completion.

This vulnerability aligns with CWE-400, which describes uncontrolled resource consumption, as well as CWE-787, regarding out-of-bounds write vulnerabilities if the allocation leads to buffer overflows in related memory management routines. From an offensive security perspective, this exploit technique maps to MITRE ATT&CK tactic T1496, Resource Hijacking, specifically subtechnique T1496.002, Denial of Service via resource exhaustion. The attack vector is classified as Network-based with low complexity due to the ability to trigger the condition through standard AMQP traffic without requiring prior authentication credentials in many configurations.

Mitigation for this issue requires immediate upgrading to version 1.14.0 or later of the amqp091-go library, where the frame-size mitigation logic has been corrected to properly enforce limits during the negotiation phase. Organizations relying on Go-based AMQP clients should audit their dependency trees and ensure that all instances are updated to patched versions. Additionally, implementing network-level rate limiting and monitoring for abnormal memory usage patterns in services utilizing this client can provide an additional layer of defense against potential exploitation attempts while patching is being deployed across the infrastructure.

Responsible

GitHub M

Reservation

10/07/2026

Disclosure

10/08/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you know our Splunk app?

Download it now for free!