Read the docs

Quadratic parsing in msgpack5 streaming decoder blocks the event loop

Priority LOW 27CWE-407Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-407.

Summary

msgpack5 versions before 6.1.0 for node.js and the browser have a streaming decoder that reparses an incomplete array or map from the beginning whenever another chunk arrives (CWE-407). A remote peer can split one valid MessagePack container into many small chunks, causing completed elements to be decoded repeatedly. This produces quadratic CPU use that blocks the event loop.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

msgpack5 is a msgpack v5 implementation for node.js and the browser. Prior to 6.1.0, the streaming decoder reparses an incomplete array or map from the beginning whenever another chunk arrives. A remote peer can split one valid MessagePack container across many small chunks, causing completed elements to be decoded repeatedly, producing quadratic CPU use and blocking the event loop. This issue is fixed in version 6.1.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00389 33rd percentileScored 2026-11-07
Fix Fixed msgpack5 (mcollina): 6.1.0msgpack5 (npm): 6.1.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
mcollinamsgpack5before 6.1.06.1.0Patch availableCNA
—msgpack5 (npm)before 6.1.06.1.0Patch availableGHSA-gcx5-hxj7-gpqq
  • msgpack5 Vendormcollina Affected before 6.1.0 Fixed in 6.1.0 Patch available CNA
  • msgpack5 (npm) Vendor— Affected before 6.1.0 Fixed in 6.1.0 Patch available GHSA-gcx5-hxj7-gpqq

Remediation

Upgrade the npm package msgpack5 to version 6.1.0, which fixes this issue.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA msgpack5 (mcollina) Fixed in 6.1.0
  • Fix · GHSA-gcx5-hxj7-gpqq msgpack5 (npm) Fixed in 6.1.0 Advisory →

Timeline

  1. 2026-10-08 Threatist record created from CVE-2026-107297
  2. 2026-10-08 Alias added: GHSA-gcx5-hxj7-gpqq

References

  • TI-2026-76780 Command injection in mcollina mcp-ripgrep Advanced Search Tool CVSS 4.0MEDIUM 4.8
  • TI-2026-69605 Truncated map32 headers throw RangeError in msgpack5 decoder CVSS 3.1HIGH 7.5
  • TI-2026-69603 msgpack5 streaming decoder recursion can exhaust the call stack CVSS 3.1HIGH 7.5
  • TI-2026-69599 Deeply nested input exhausts the stack in msgpack5 decoder CVSS 3.1MEDIUM 5.3
  • TI-2026-69606 Prototype pollution in msgpack5 with partial options CVSS 3.1MEDIUM 6.5
  • TI-2026-69600 Reserved byte in msgpack5 causes unbounded stream buffering CVSS 3.1MEDIUM 5.9
See all 7 →

Sources