← Advisories

Apache ActiveMQ CPP 3.9.5 (OpenWireFormat::unmarshal) Denial of Service

Medium
Advisory ID
ZSL-2026-6034
Release Date
26 October 2026
Vendor
The Apache Software Foundation - https://www.apache.org
Affected Version
3.9.5
CVE
N/A
Tested On
Microsoft Windows 10 (x86-64), g++ 15.2.0 (MSYS2 UCRT64)
Summary

ActiveMQ CPP is a messaging library that can use multiple protocols to talk to a MOM (e.g. ActiveMQ).

Description

Apache ActiveMQ CPP suffers from an uncontrolled memory allocation vulnerability in its OpenWire byte-array unmarshalling. The unmarshal routines read a 32-bit size from the wire and resize a buffer to that size with no upper bound, and the inbound path enforces no maximum frame size. A malicious or MitM broker can set this length to 0x7FFFFFFF in the WireFormatInfo it sends as its first frame (before the client authenticates), forcing a ~2 GiB allocation that throws std::bad_alloc, uncaught in the unmarshal path, and crashes the client. This results in a remote denial of service.

Proof of Concept
Disclosure Timeline
13.08.2026Vulnerability discovered.
19.08.2026Contact with the vendor.
20.08.2026Vendor forwards details to appropriate PMC.
25.10.2026No response from the vendor.
26.10.2026Public security advisory released.
Credits
Vulnerability discovered by Gjoko Krstic
References
Changelog
26.10.2026Initial release