Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessClient initiates AMQP login to malicious/MITM server
-
DeliveryServer returns undersized frame_max in connection.tune
-
ExploitClient reallocates undersized outbound heap buffer
-
ExecutionSerialization of connection.tune-ok writes past allocation
-
ImpactHeap corruption and client denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the rabbitmq-c client (versions < 0.16.0) to establish an AMQP connection to an attacker-controlled or compromised broker, OR an on-path/MITM attacker intercepting plaintext (non-TLS) AMQP traffic to inject a malicious connection.tune frame with frame_max below AMQP_FRAME_MIN_SIZE. Limiting factors: the client must initiate the connection (UI:R), the malicious frame is only accepted during the amqp_login() handshake, and TLS-protected connections to trusted brokers eliminate the on-path variant. There is no server-side or unsolicited exposure - the victim is the connecting client. |
| Impact | The vendor CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H = 7.1) is internally consistent with the description: the flaw is a client-side heap buffer overflow triggered by a MALICIOUS or compromised AMQP server (or an on-path attacker on plaintext AMQP), so 'PR:N' means no authentication against the client, but exploitation is gated on the client voluntarily connecting to attacker-controlled infrastructure (UI:R). This is NOT a remotely-reachable, unsolicited server-side flaw - the attacker must sit where the client connects. No EPSS score, KEV listing, or POC was provided, and the description explicitly states 'Code execution is theoretically possible but was not demonstrated,' so the realistic, confirmed impact is memory corruption and denial of service (A:H), not RCE. This is a genuine but conditional issue: real priority only for deployments where rabbitmq-c clients connect over untrusted networks or to untrusted brokers. The 'RCE' tag overstates the confirmed impact given C:N and the vendor's own 'not demonstrated' caveat. No signal indicates widespread or active exploitation - treat as a patch-on-cycle library update rather than an emergency. |
| Exploit ScenarioDerived | An attacker who controls or has compromised an AMQP broker (or performs on-path interception of plaintext, non-TLS AMQP traffic) waits for a rabbitmq-c client to call amqp_login(). During the connection.tune handshake the malicious server returns an undersized frame_max below AMQP_FRAME_MIN_SIZE; the client sizes its outbound buffer to that value and immediately serializes connection.tune-ok, writing past the undersized heap allocation and corrupting the heap, crashing the client. No public exploit code was identified and code execution was not demonstrated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 17, 2026
Heap-based buffer overflow in rabbitmq-c, the C-language AMQP client library, affects all versions prior to 0.16.0 and is triggered when a malicious or compromised AMQP broker sends an undersized connection.tune frame_max value during the amqp_login() handshake. Because amqp_tune_connection() reallocates the outbound frame buffer using the attacker-supplied value without enforcing AMQP_FRAME_MIN_SIZE, the immediately serialized connection.tune-ok frame overflows the undersized heap allocation, producing memory corruption and likely denial of service, with code execution considered theoretically possible but not demonstrated. Exploitation requires the victim client to initiate a connection to attacker-controlled infrastructure (CVSS 7.1, AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H), or an on-path attacker to inject the malicious tune frame into plaintext, non-TLS AMQP traffic; no public exploit code or confirmed active exploitation was identified at time of analysis, and a vendor-released patch in version 0.16.0 is available.
RemediationAI
Vendor-released patch: rabbitmq-c 0.16.0, which clamps any server-supplied frame_max below AMQP_FRAME_MIN_SIZE and adds a regression test covering the tune path. Upgrade every application and container image that statically or dynamically links librabbitmq to 0.16.0 or later, following the release at https://github.com/alanxz/rabbitmq-c/releases/tag/v0.16.0 and the advisory at https://github.com/alanxz/rabbitmq-c/security/advisories/GHSA-jh48-qjf5-fx5v; if you build from source, apply commit 4777d0b5c58cb02966a04a85832436bd66ed5d1f or PR #879 and update the dependency version in downstream packages. Until patched, the single most effective compensating control is to require TLS (amqp_ssl_socket / amqps) for every outbound AMQP connection, which eliminates the on-path attacker variant by preventing injection of the connection.tune frame, at the cost of certificate and PKI management overhead and residual exposure to a fully compromised broker endpoint. Restrict client connections to explicitly trusted, operator-controlled brokers and avoid connecting to servers controlled by unknown or untrusted parties, accepting that a malicious broker can still trigger the flaw over TLS. Network egress filtering that allowlists only approved AMQP broker addresses reduces the attack surface but does not mitigate a compromised trusted broker, and no configuration-flag workaround exists inside the library because the vulnerable clamp is absent before 0.16.0.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
rabbitmq-c is a client-side implementation of the AMQP 0-9-1 wire protocol used by C and C++ applications to talk to RabbitMQ and other AMQP 0-9-1 brokers. During connection negotiation the broker sends a connection.tune frame carrying three parameters: channel_max, frame_max, and heartbeat. The AMQP specification constrains frame_max to be at least AMQP_FRAME_MIN_SIZE (4096 bytes), because the tune-ok reply and subsequent frames must be serializable within that buffer. The root cause is CWE-122 (heap-based buffer overflow): amqp_login_inner() in librabbitmq/amqp_socket.c accepts the server-provided frame_max as-is, and amqp_tune_connection() in librabbitmq/amqp_connection.c passes it directly to the outbound buffer reallocation without clamping to AMQP_FRAME_MIN_SIZE. A value such as 0 or 1 therefore yields a tiny heap allocation, and amqp_frame_to_bytes() then writes the full serialized connection.tune-ok frame into it, corrupting adjacent heap memory. The upstream fix (commit 4777d0b5c58cb02966a04a85832436bd66ed5d1f, PR #879) adds a floor check that raises any frame_max below AMQP_FRAME_MIN_SIZE up to the minimum in amqp_tune_connection(), and also derives client_frame_max via amqp_get_frame_max() in amqp_login_inner(); a new regression test (tests/test_tune_connection.c) asserts the buffer length always equals at least AMQP_FRAME_MIN_SIZE. Affected components map to rabbitmq-c < 0.16.0 in the supplied EUVD data, and because the defect is in the client library rather than the broker, any application statically or dynamically linking the vulnerable library inherits the risk.
Know when the next one hits your stack
- 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
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H
Client-initiated connection to a malicious/MITM AMQP server gives AV:N/UI:R/PR:N; heap corruption crashes the client (A:H) with minor integrity impact (I:L) and no disclosure (C:N).
AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
rabbitmq-c is a C-language AMQP client library for RabbitMQ. Prior to 0.16.0, a malicious AMQP server can send an undersized connection.tune.frame_max value during amqp_login(), and rabbitmq-c accepts the value in amqp_login_inner() in librabbitmq/amqp_socket.c. amqp_tune_connection() in librabbitmq/amqp_connection.c uses frame_max to reallocate the outbound buffer without enforcing AMQP_FRAME_MIN_SIZE. Immediate serialization of connection.tune-ok through amqp_frame_to_bytes() writes beyond the undersized heap allocation, causing memory corruption and likely denial of service. An on-path attacker can also trigger the flaw against plaintext AMQP traffic. Code execution is theoretically possible but was not demonstrated. This issue is fixed in version 0.16.0.
Technical POC Analysis
CWE-122 (heap-based buffer overflow).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
rabbitmq-c, the C-language AMQP client library used in message-driven applications, has a high-severity heap buffer overflow affecting all versions before 0.16.0. A malicious or compromised AMQP broker-or an on-path attacker on plaintext AMQP connections-can corrupt client memory during the connection handshake, causing likely denial of service and making code execution theoretically possible. Because this affects client applications connecting to external or untrusted brokers, security and engineering leadership should prioritize upgrading to the vendor-released 0.16.0 patch to prevent availability disruptions and reduce residual risk.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Same weakness CWE-122 – Heap-based Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-82332
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB