Intel

AIKIDO-2026-963257

msgpack is vulnerable to Use After Free

Use After Free Pre-CVE
Found by Aikido Intel before public disclosure or CVE publication.
Published 5 days ago

83

High Risk

This Affects:

RUBYmsgpack
0.0.1 - 1.8.3
Fixed in 1.8.4
Are you affected? Scan for Free

TL;DR

MessagePack::Buffer transfers rmem page ownership incorrectly when carving a new chunk from the unused tail of a page, so a later chunk can keep pointing into memory that has already been returned to the shared pool and handed to another buffer. Reads then return another buffer's bytes and writes corrupt them, which in a per-request packer can leak or mix serialized data across requests. Separately, unpacking deeply nested recursive extensions ignores a failed unpacker stack push and keeps recursing until the Ruby VM crashes with SIGSEGV instead of raising MessagePack::StackError. The fix correctly transfers rmem ownership so released pages are not reused while still referenced, and raises StackError when the recursive-extension stack push fails.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application uses MessagePack::Buffer or Packer directly, or unpacks MessagePack data that registers recursive extension types.

Background info

msgpack is vulnerable to Use After Free in versions 0.0.1 - 1.8.3.

How to fix this

Upgrade the msgpack library to the patch version.