msgpack5: Partial options disable prototype protection
Exact source revision recorded 24 Oct 2026 13:17:17 UTC. It does not establish the source's current position. Latest evidence.
osv · GHSA-8hq7-ggx2-cc6m
Published### Impact Passing an empty or partial options object disables the default `protoAction: 'error'` protection. A map containing a `__proto__` key can then replace the prototype of the decoded object, potentially changing inherited properties or causing unexpected behavior in downstream code. Only the decoded object's prototype is affected; this does not modify `Object.prototype` globally. ### Patches Options are now merged with secure defaults without modifying the caller's object. Unsupported `protoAction` values are rejected. ### Workarounds Explicitly set `protoAction: 'error'` whenever constructing a msgpack5 instance, and validate decoded values before use.
- Source published
- 8 Oct 2026 17:39:57 UTC
- Source modified
- 8 Oct 2026 18:00:08 UTC
- Observed here
- 24 Oct 2026 13:17:17 UTC
- Source terms
- GitHub Advisory Database · CC-BY-4.0
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · GitHub Advisory Database · CC-BY-4.0. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS_V3 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L
Publisher rating · MODERATE