Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach AMQP endpoint using Proton C
-
DeliverySend message with deeply nested body
-
ExploitApplication calls pn_message_body() to decode
-
ExecutionUnbounded recursion overflows the stack
-
ImpactProcess crashes (denial of service)
Vulnerability Assessment
| Exploitation Conditions | Exploitation requires that an application using Apache Qpid Proton C at or below version 0.40.0 decode an attacker-influenced AMQP message body via pn_message_body(); the trigger is a message body that is deeply nested enough to exhaust the stack through the recursive decoder. Limiting factors: the deploying application must actually call pn_message_body() on untrusted input and expose a reachable AMQP endpoint; impact is confined to a crash (availability), with no code execution or data exposure described. Whether the attacker must first authenticate to the AMQP peer (for example via SASL) is not stated in the sources and cannot be confirmed because no CVSS vector was provided. |
| Impact | This is an availability-only denial-of-service flaw: a deeply nested AMQP message body decoded by pn_message_body() drives unbounded recursion that overflows the stack and crashes the process. Severity signals are thin - no CVSS vector, EPSS score, KEV listing, or PoC is supplied, and the vuln.today Decision label is 'awaiting_data', so there is no evidence of active exploitation or widespread interest at this time. Apache rates it 'important'. The realistic impact is a crash of the component embedding Proton C, not code execution or data compromise (confidentiality/integrity are unaffected per the description). Priority should be treated as moderate: the attack surface is network-facing message parsing, which is reachable wherever an application feeds attacker-influenced AMQP messages into pn_message_body(), but the ceiling is a crash. Note a data caveat: the input provides no CVSS vector, so authentication requirements cannot be confirmed from the metrics - whether a reachable AMQP peer must first authenticate (SASL) depends on the deploying application and is not stated in the sources. |
| Exploit ScenarioDerived | An attacker able to deliver an AMQP message to an application built on Qpid Proton C (<= 0.40.0) crafts a message whose body is deeply nested, so that when the application calls pn_message_body() to decode it the recursive parser exhausts the stack and the process crashes. No public exploit is identified at time of analysis, and the impact is limited to a denial of service rather than code execution. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Stack-exhausting unbounded recursion in Apache Qpid Proton C through 0.40.0 lets a deeply nested AMQP message body crash the process when an application decodes it with pn_message_body(). The flaw is availability-only (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H): no code execution or data exposure is described, but any service that passes untrusted AMQP bodies to that decoder can be taken down by a single crafted message. No public exploit code or PoC has been identified at time of analysis, no CISA KEV entry exists, and the vendor has released a fix in 0.41.1.
RemediationAI
Vendor-released patch: Apache Qpid Proton C 0.41.1, which the advisory states fixes the issue; upgrade all proton-c deployments (and any vendored or statically linked copies inside brokers, routers and gateways) from 0.40.0 or earlier to 0.41.1, per https://seclists.org/oss-sec/2026/q4/430 and https://qpid.apache.org/. Until the upgrade can be shipped, the practical reduction is to stop feeding untrusted input to the vulnerable path: applications that control the decode step should avoid calling pn_message_body() on message bodies received from peers they do not trust, or should parse bodies with a bounded-depth decoder instead - the trade-off is that legitimate deeply nested bodies will no longer be processed, and any consumer that genuinely needs the full body must remain on trusted peers only. Exposing the AMQP endpoint to a restricted set of peers reduces who can deliver a malicious body but does not fix the defect and does not protect deployments where the peer set is inherently open; the vendor's stated complete remedy is the 0.41.1 upgrade. Independent confirmation is still pending on the tracker side, since the cited PROTON-2976 record currently shows unrelated SSL trust-store content.
Affected ProductsAI
Apache Qpid Proton C (the proton-c component) through version 0.40.0 is affected; the vendor advisory states 'This issue affects Apache Qpid Proton C: through 0.40.0' with no lower bound and no CPE identifiers provided in the available data. Downstream applications, brokers and gateways that embed proton-c at or below 0.40.0 inherit the exposure wherever they call pn_message_body() on attacker-influenced input. Fix Version in the project's tracker is proton-c-0.41.1. Advisories: the oss-security post at https://seclists.org/oss-sec/2026/q4/430, the project tracker entry at https://issues.apache.org/jira/browse/PROTON-2976, and the project site https://qpid.apache.org/. The flaw was reported by zhangph (yandex.com) and Gjoko Krstic of Zero Science.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache Qpid Proton C is the C AMQP 1.0 messaging toolkit used to build clients, brokers and routers that speak AMQP; pn_message_body() is the API that decodes a message body from the wire representation into the application's message object. The defect is a recursion-depth problem: the decoder walks nested body structures recursively without a depth bound, so a body nested deeply enough consumes stack frames until the stack overflows and the process aborts. No CWE identifier was supplied in the available data, and the trigger mechanism beyond 'deeply nested body processed by the recursive decoder' is not described in the sources. Note that the JIRA identifier cited in the advisory (PROTON-2976) currently resolves to a record describing an unrelated OpenSSL trusted-CA behaviour, so the linked ticket content does not itself document this recursion flaw; the authoritative fix statement is the oss-security advisory naming version 0.41.1. The CVSS vector indicates network reachability with no privileges or user interaction required, but whether an attacker must first complete AMQP peer authentication (for example SASL) is not confirmed by the sources - the vector carries PR:N while the advisory is silent on the authentication model of the surrounding peer.
Know when OpenSSL 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
AMQP is a network protocol and a single crafted message triggers the crash with no user interaction; impact is availability-only (crash), so C:N/I:N/A:H; PR:N is the library base case but auth is not confirmed in the sources.
Estimated by vuln.today — no official severity rating has been published for this CVE yet.
Description PRE-NVD
Articles & Coverage 2
Executive ViewAI
A high-severity availability vulnerability in Apache Qpid Proton C (versions up to 0.40.0) allows an unauthenticated remote attacker to crash any service that decodes untrusted AMQP message bodies with pn_message_body(). This affects organizations using Proton C in messaging gateways or brokers, where a single crafted message can cause a denial of service, disrupting business operations. Leadership should prioritize patching because the flaw is easy to exploit and has no workaround.
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
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe
In order to decrypt SM2 encrypted data an application is expected to call the API function EVP_PKEY_decrypt(). Rated cri
The dtls1_reassemble_fragment function in d1_both.c in OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
The SSLv2 protocol, as used in OpenSSL before 1.0.1s and 1.0.2 before 1.0.2g and other products, requires a server to se
The ssl3_get_key_exchange function in s3_clnt.c in OpenSSL before 0.9.8zd, 1.0.0 before 1.0.0p, and 1.0.1 before 1.0.1k
In addition to the c_rehash shell command injection identified in CVE-2022-1292, further circumstances where the c_rehas
The TLS protocol 1.2 and earlier, when a DHE_EXPORT ciphersuite is enabled on a server but not on a client, does not pro
The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other products, uses nondeterministic CBC padding, which mak
The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a
The X509_verify_cert function in crypto/x509/x509_vfy.c in OpenSSL 1.0.1n, 1.0.1o, 1.0.2b, and 1.0.2c does not properly
A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Rated hig
CVE.org
GitHub PoC
Exploit-DB