# CVE-2026-107298: msgpack5 uncontrolled recursion in decoder

Source: https://junglewise.ai/threats/cve-2026-107298-msgpack5-deeply-nested-input-can-exhaust-the-decoder-stack  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-08. Updated: 2026-10-08  
License: CC BY 4.0 with a link back

CVE-2026-107298 · Severity: medium · CVSS 5.3 · Published 2026-10-08

msgpack5 is a Node.js library that decodes MessagePack-serialized data, a compact binary format used in many applications. An attacker can send deeply nested MessagePack messages that exhaust the JavaScript call stack, causing the decoder process to crash and disrupting service availability.

Technologies: [Mcollina Msgpack5](https://junglewise.ai/threats/technologies/mcollina-msgpack5), [msgpack5 (npm)](https://junglewise.ai/threats/technologies/msgpack5). Vendors: [Mcollina](https://junglewise.ai/threats/vendors/mcollina), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-107298 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-107298 being exploited in the wild.

**How severe is CVE-2026-107298?** Medium severity, with a CVSS score of 5.3, published 8 October 2026.

**Which products and versions are affected?** Mcollina Msgpack5 < 6.1.0; msgpack5 (npm) < 6.1.0, SEMVER:introduced=0,fixed=6.1.0.

**Is there a fix for CVE-2026-107298?** Yes. msgpack5 (npm): upgrade to 6.1.0 or later. Until then: Reject deeply nested input before decoding, isolate decoding in a worker thread, or enforce a trusted schema with a bounded nesting depth. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-107298 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-107298?** Check whether you run Mcollina Msgpack5 or msgpack5 (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- msgpack5 (npm): upgrade to 6.1.0 or later

  ```sh
  npm install msgpack5@6.1.0
  ```


Reject deeply nested input before decoding, isolate decoding in a worker thread, or enforce a trusted schema with a bounded nesting depth.

## Technical details

The decoder lacks a nesting depth limit for arrays and maps, allowing uncontrolled recursion when processing deeply nested containers (CWE-674). An unauthenticated attacker over the network can provide malicious MessagePack input to trigger stack exhaustion. The fix implements a default maximum nesting depth of 100 and allows configuration via the maxDepth option.

## Affected products

- mcollina msgpack5 < 6.1.0

## Identifiers

- CVE-2026-107298
- GHSA-24ch-f2g6-9hhh

## Timeline

- 2026-09-26: disclosed
- 2026-10-08: advisory

## References

- [https://api.github.com/users/SWIFI-AI](https://api.github.com/users/SWIFI-AI)

## Related threats

- [msgpack5 out-of-bounds read in truncated map32 header](https://junglewise.ai/threats/cve-2026-107302-msgpack5-truncated-map32-headers-throw-an-unexpected-error)
- [msgpack5 uncontrolled recursion in streaming decoder](https://junglewise.ai/threats/cve-2026-107300-msgpack5-many-buffered-values-can-exhaust-the-streaming-decoder)
- [msgpack5 unbounded stream buffering via reserved byte](https://junglewise.ai/threats/cve-2026-107299-msgpack5-reserved-byte-can-cause-unbounded-stream-buffering)
- [msgpack5 prototype pollution via partial options](https://junglewise.ai/threats/cve-2026-107301-msgpack5-partial-options-disable-prototype-protection)
- [msgpack5 quadratic parsing in streaming decoder](https://junglewise.ai/threats/cve-2026-107297-msgpack5-quadratic-parsing-in-the-streaming-decoder)
