Skip to main content

msgpack5 CVE-2026-107302

| EUVDEUVD-2026-95114 HIGH
Out-of-bounds Read (CWE-125)
2026-10-08 GitHub_M GHSA-8f34-f56x-9xph
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach network endpoint decoding msgpack
  2. Delivery
    Send truncated map32 header (0xdf)
  3. Exploit
    Decoder reads length before validating header
  4. Execution
    Unexpected RangeError thrown not IncompleteBufferError
  5. Impact
    Request/stream/worker terminates (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target application to decode attacker-controlled MessagePack input AND to rely on IncompleteBufferError to signal 'wait for more bytes' in an incremental/streaming decode loop - the specific condition named in the advisory. The trigger is a value beginning with 0xdf (map32) whose complete five-byte header has not yet arrived. The limiting factor is that applications which decode only complete buffers, or which already catch generic errors, are not disrupted; there is no exploitation path to data disclosure or code execution, only to an unexpected RangeError that aborts a request, stream, or worker. The documented workaround (require five bytes before decoding 0xdf, or treat RangeError as incomplete input) further narrows real exposure.

Impact

This is a denial-of-service vulnerability, not a code-execution or data-exposure flaw. The provided CVSS:3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H = 7.5) correctly scores it as remote, unauthenticated, low-complexity with no confidentiality or integrity impact and high availability impact. The advisory and description agree on the mechanism: a truncated map32 header (byte 0xdf) triggers a bounds-checked out-of-bounds read that throws RangeError instead of the expected IncompleteBufferError, crashing a request, stream, or worker. Critically, both NVD and the GHSA advisory confirm there is NO adjacent-memory disclosure because the buffer implementation enforces bounds - so the input 'Information Disclosure' tag and the CWE-125 'out-of-bounds read' framing overstate the real impact, which is purely availability. No EPSS score, KEV listing, or POC was supplied, so this is 'no public exploit identified at time of analysis'; the A:H rating is also conditional (see exploitation_conditions), meaning real-world risk is lower than the 7.5 base score suggests for most consumers. Verdict: a legitimate but bounded DoS hardening fix, not an urgent widespread-exploitation priority.

Exploit ScenarioDerived

An attacker sends a malicious or truncated MessagePack byte stream - specifically a map32 value (0xdf prefix) whose five-byte header is incomplete - to a Node.js service that decodes untrusted input incrementally and relies on IncompleteBufferError to wait for more bytes. Instead of waiting, the decoder throws an unhandled RangeError, terminating the request, stream, or worker and causing a denial of service. No public exploit code was identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 08, 2026

Decoding a truncated map32 MessagePack value in msgpack5 (npm) before 6.1.0 causes the decoder to read the four-byte length field of a five-byte header that has not fully arrived, producing an out-of-bounds buffer read that throws RangeError instead of IncompleteBufferError; the unauthenticated network-vector flaw (CVSS 3.1 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) can abort a request, stream, or worker in applications that use IncompleteBufferError to decide whether to wait for more bytes. Impact is denial of service only - the underlying buffer implementation bounds-checks the read, so there is no adjacent-memory disclosure and no path to code execution. No public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor has released a fixed version (6.1.0).

RemediationAI

Upgrade to msgpack5 6.1.0, the vendor-released patched version, which validates the complete five-byte map32 header before reading its length and reclassifies truncated input as IncompleteBufferError (release notes at https://github.com/mcollina/msgpack5/releases/tag/v6.1.0; advisory at https://github.com/mcollina/msgpack5/security/advisories/GHSA-8f34-f56x-9xph; patch commit 15443a1f2aa682a6aa37f1705ac628de5b866ad1). Note the fix touches only dist/msgpack5.js and dist/msgpack5.min.js, so consumers pinned to a bundled copy must rebuild or re-pull the artifact rather than assume a lockfile bump is sufficient. If immediate upgrade is not possible, the advisory's documented workarounds apply: require at least five bytes to be buffered before attempting to decode any value whose first byte is 0xdf (map32), which prevents the truncated-header path entirely but adds buffering logic and a small latency/state cost in streaming pipelines; alternatively catch RangeError and treat it as incomplete input only when it originates from a truncated map32 header - a narrower and riskier mitigation, since RangeError is also thrown legitimately by the decoder's collection-size limits (maxMapLength/maxArrayLength), and blanket-swallowing it would mask genuine configuration errors and could allow unbounded buffering. Applications that only decode fully-assembled buffers, or that already catch generic error types, need no change; verifying that assumption is the cheapest first triage step. No vendor-released patch beyond 6.1.0 is required, and the impact ceiling here is availability only, so prioritization should weigh the application's reliance on IncompleteBufferError-driven incremental decoding rather than the raw CVSS score.

Affected VersionsENISA

msgpack5 < 6.1.0

Affected Packages

npm msgpack5 fix: 6.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

msgpack5 is a MessagePack v5 encoder/decoder for Node.js and the browser, distributed as npm package msgpack5 (CPE cpe:2.3:a:mcollina:msgpack5:*:*:*:*:*:*:*:*). MessagePack is a binary serialization format in which the map32 type is signaled by the single-byte prefix 0xdf followed by a four-byte big-endian element count, giving a fixed five-byte header. The decoder in lib/decoder.js maintains a SIZES lookup table mapping type bytes to header lengths so that truncated input can be detected and reported as IncompleteBufferError; prior to the fix that table omitted the 0xdf entry (the diff adds 0xdf: 5 alongside the existing 0xdd: 5 and 0xde: 3 for map16/map32 ordering), so when only part of the five-byte map32 header was present the decoder proceeded to read the length before confirming header availability. This is the CWE-125 out-of-bounds read class: the read runs past the end of the supplied buffer. Critically, the buffer implementation performs its own bounds checks, so the read fails with a RangeError rather than returning adjacent memory - there is no disclosure primitive. The security-relevant consequence is instead an error-type mismatch: callers that treat IncompleteBufferError as the sentinel for 'need more bytes' in incremental/streaming decode loops receive an unexpected RangeError and may tear down the request, stream, or worker. Applications that decode only complete, already-buffered payloads, or that catch generic errors, are not affected.

Know when Msgpack5 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote unauthenticated attacker supplies crafted msgpack bytes (AV:N/AC:L/PR:N/UI:N); no confidentiality/integrity impact per advisory, availability high from worker/stream termination.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Oct 08, 2026 - 19:18 EUVD
CVE Published
Oct 08, 2026 - 17:14 cve.org
HIGH 7.5

DescriptionCVE.org

msgpack5 is a msgpack v5 implementation for node.js and the browser. Prior to 6.1.0, the decoder reads the four-byte length of a map32 value before validating that the complete five-byte header is available. A truncated map32 header therefore causes a checked out-of-bounds buffer read and throws RangeError instead of IncompleteBufferError, which can unexpectedly terminate a request, stream, or worker in applications that wait for additional bytes after IncompleteBufferError. There is no adjacent-memory disclosure because the buffer implementation checks bounds. This issue is fixed in version 6.1.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 294 npm packages depend on msgpack5 (61 direct, 235 indirect)

Ecosystem-wide dependent count for version 6.1.0.

Technical POC Analysis

CWE-125 (Out-of-bounds Read).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A denial-of-service flaw in the widely used npm MessagePack decoder msgpack5 (versions before 6.1.0) allows an unauthenticated remote sender of a malformed truncated payload to crash the decoding process rather than raise a clean 'need more data' signal. Any internet-facing service, API gateway, streaming pipeline, or worker pool that relies on this library's incomplete-buffer handling to decide whether to wait for additional bytes can have requests, streams, or background workers aborted at will. Leadership should care because the exposure is a repeatable availability risk on customer-facing paths requiring no credentials and no user interaction, even though there is no data disclosure or code-execution path.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
Popular Node.js msgpack library but not a near-universal core dependency
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy