---
id: "CVE-2026-106972"
kind: "vulnerability"
aliases: ["CVE-2026-106972"]
title: "rybakit/msgpack: unbounded recursion in BufferUnpacker lets crafted input crash service"
severity: "unknown"
cvss: null
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["api-backends", "composer", "package", "php", "rybakit-msgpack"]
not_affected_if: ["different-version", "no-untrusted-input"]
published_at: "2026-10-28T15:17:02+00:00"
first_seen_at: "2026-10-28T15:33:37+00:00"
updated_at: "2026-10-28T15:35:09+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-106972", "first_seen_at": "2026-10-28T15:33:37+00:00"}]
---

# rybakit/msgpack: unbounded recursion in BufferUnpacker lets crafted input crash service

The rybakit/msgpack PHP library v0.11.0 has an uncontrolled recursion flaw in MessagePack\BufferUnpacker::unpack(). A crafted MessagePack input can exhaust the stack and cause a denial of service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `composer show rybakit/msgpack` and check whether the installed version is `0.11.0`.
- Search `composer.lock` for `rybakit/msgpack` to find the locked version.
- Find code that calls `BufferUnpacker::unpack()` on data from untrusted sources.

## Fix

- Upgrade `rybakit/msgpack` to a release newer than `0.11.0` once the sources name one; the sources do not name a fixed version.
- Until patched, reject or size-limit untrusted MessagePack input before unpacking.

## Timeline

- 2026-10-28T15:33:37+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-106972

## From the sources

An uncontrolled recursion in the MessagePack\BufferUnpacker::unpack() component of rybakit/msgpack v0.11.0 allows attackers to cause a Denial of Service (DoS) via a crafted input.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
