CVE-2026-114613 in msgpack-pythoninfo

Summary

by MITRE • 10/23/2026

MessagePack is the serializer implementation for Python msgpack.org. Prior to 1.2.3, the msgpack-python C extension (msgpack._cmsgpack) leaks a decoded map value when deserialization rejects a key with strict_map_key=True (the default). Repeated malformed inputs can cause unbounded process memory growth and denial of service in applications that deserialize attacker-controlled MessagePack data. Both unpackb() and the streaming Unpacker API are affected. The pure-Python fallback does not exhibit this leak in the reported tests. This issue is fixed in version 1.2.3.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 10/23/2026

The vulnerability identified within the Python msgpack library, specifically affecting versions prior to 1.2.3, represents a critical memory management flaw in the C extension implementation of the MessagePack serializer and deserializer. The core issue resides in the module named msgpack._cmsgpack, which is utilized for performance optimization over the standard pure-Python fallback. When processing incoming data streams that adhere to the strict map key validation mode, indicated by the parameter strict_map_key=True which serves as the default configuration setting, a logic error occurs during the deserialization process. This specific flaw manifests when the parser encounters a malformed input where a key within a MessagePack map structure is rejected due to invalid formatting or type constraints. Instead of properly discarding all associated data for that incomplete entry, the implementation fails to release memory allocated for the corresponding value object linked to the rejected key.

This failure in resource deallocation constitutes an unbounded process memory growth vector when subjected to repeated exploitation attempts. An attacker who can supply controlled MessagePack payloads to a service utilizing this library can trigger this leak repeatedly by sending numerous malformed map entries that fail strict key validation checks. Each such event results in a small but persistent allocation of heap memory that is never returned to the operating system or garbage collector. Over time, as these malicious inputs are processed, the application consumes increasing amounts of RAM until it exhausts available resources. This scenario directly leads to a denial of service condition where the target process becomes unresponsive or crashes due to out-of-memory errors, effectively disrupting availability for legitimate users and services relying on the affected software component.

From a technical classification perspective, this vulnerability aligns with CWE-401, which describes missing release of memory after effective usage, often referred to as a memory leak. The exploitation technique involves crafting specific binary payloads that trigger internal state errors within the C extension during parsing operations. This activity can be mapped to MITRE ATT&CK techniques related to resource exhaustion and denial of service via application layer attacks. It is important to note that this vulnerability is isolated to the high-performance C extension implementation; the pure-Python fallback mechanism does not exhibit this specific memory leak behavior in tested scenarios, highlighting a discrepancy between the two parsing backends within the same library version.

To mitigate this risk and restore secure operation of applications depending on msgpack-python, immediate upgrade to version 1.2.3 or later is required. This release contains the necessary code corrections that ensure proper cleanup of allocated memory even when deserialization errors occur during strict key validation. Organizations should audit their dependency trees for any usage of older versions of this library and prioritize patching efforts accordingly. Additionally, implementing input validation layers at network boundaries to filter out malformed binary data before it reaches the application logic can provide an additional layer of defense against such exploitation attempts, although upgrading the underlying library remains the definitive remediation strategy.

Responsible

GitHub M

Reservation

10/21/2026

Disclosure

10/23/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you need the next level of professionalism?

Upgrade your account now!