CVE-2026-114613
High · 7.5CVSS
7.5
EPSS
0.5%
Published
Oct 22, 2026
CISA due date
—
Cloudanix analysis
A data-parsing library can be tricked into using more and more memory until programs stop working when they receive specially crafted input.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The C extension leaks a decoded map value on key rejection under the default strict_map_key=True setting, producing unbounded heap growth on repeated inputs via unpackb or the streaming Unpacker.
Why it matters to the business
Services that deserialize untrusted MessagePack data face denial-of-service through memory exhaustion, causing outages and restarts; the 30-day EPSS rise and four-day-old disclosure increase urgency for dependent applications.
How an attack unfolds
An attacker repeatedly submits crafted MessagePack payloads containing map keys that trigger rejection under strict_map_key=True, exercising the leak path in the C extension until process memory is exhausted.
How to fix it
Upgrade msgpack to version 1.2.3 or later; fall back to the pure-Python implementation where feasible until the update is complete.
How to confirm the fix worked
Confirm msgpack >= 1.2.3 is installed, then replay test vectors that previously triggered the leak and verify absence of memory growth under strict_map_key=True.
Typical attack path
- Identify endpoints accepting attacker-controlled MessagePack
- Generate malformed payloads that cause key rejection
- Deliver payloads repeatedly via unpackb or Unpacker
- Observe sustained memory growth leading to DoS
How to detect it
Review application and system logs for repeated deserialization errors or warnings from msgpack, correlate with process memory growth metrics, and inspect any custom Unpacker usage.
What your security team should do
- Upgrade msgpack to 1.2.3 across all environments within the next patch cycle
- Inventory code paths that call unpackb or Unpacker on untrusted data
- Add memory-usage monitoring and alerting for affected processes
- Consider rate-limiting or input validation on deserialization endpoints
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-119286 GraphQL-core is a Python port of the GraphQL.js reference implementation. CWE-401
- CVE-2026-116157 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in PerlMagick that fails… CWE-401
- CVE-2026-116158 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in the magick compare… CWE-401
- CVE-2026-116159 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the… CWE-401
- CVE-2026-116156 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak caused by a… CWE-401
- CVE-2026-116151 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the JNG… CWE-401
- CVE-2026-116155 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the… CWE-401
- CVE-2026-116152 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in the MAT decoder that… CWE-401