CVE-2026-54522 MessagePack::Buffer#clear Use-After-Free that Enables Cross-Buffer Disclosure
A use-after-free in MessagePack for Ruby allows attackers to disclose or corrupt data across buffers via stale memory references.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-54522?
CVE-2026-54522 is a low-severity use after free vulnerability in msgpack-ruby, published on 30 Jul 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
MessagePack for Ruby is an implementation of the MessagePack binary serialization format. Prior to 1.8.2, MessagePack::Buffer#clear in ext/msgpack/buffer.c leaves rmem_last, rmem_end, and rmem_owner stale after _msgpack_buffer_shift_chunk returns an rmem page to the shared pool, allowing a subsequent Buffer#write and a second MessagePack::Buffer to alias the page and disclose or corrupt cross-buffer data. This issue is fixed in version 1.8.2.
Weakness: CWE-416
Which versions are affected by CVE-2026-54522?
2 open source packages ship an affected version, including msgpack. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
msgpack RubyGems | All versions | 1.8.2 |
msgpack RubyGems | All versions | 1.8.2 |
Products include Msgpack Messagepack.
How do I fix CVE-2026-54522?
Upgrade msgpack to 1.8.2 or later.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-54522 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54522 exists.
Other vulnerabilities in msgpack-ruby
Sources
Also known as AZL-109539, AZL-94449, CLEANSTART-2026-ES40374, DEBIAN-CVE-2026-54522, GHSA-4mrv-5p47-p938, MINI-274c-6h97-qvmp and 20 more.