Intel

AIKIDO-2026-27592

dalli is vulnerable to Information Disclosure

Information DisclosureGHSA-p6pm-ch9v-44vx Published 6 days ago

75

High Risk

This Affects:

RUBYdalli
3.2.0 - 3.2.11
Fixed in 3.2.12
4.0.0 - 4.3.5
Fixed in 4.3.6
5.0.0 - 5.0.8
Fixed in 5.0.9
5.1.0 - 5.1.2
Fixed in 5.1.3
5.2.0 - 5.2.0
Fixed in 5.2.1
Are you affected? Scan for Free

TL;DR

Dalli's pipelined reply parser uses any reply line without a value body, such as CLIENT_ERROR or SERVER_ERROR, as the MN marker that ends a batched get_multi request, so it stops reading early and leaves the remaining replies on the connection for later commands to read as their own. memcached returns CLIENT_ERROR for a key over 250 bytes on the wire, and Dalli measures key length in characters before base64-encoding non-ASCII or whitespace keys, so a key under the character limit can still trigger it. A later get on the same connection can then return a different key's value, exposing another user's cached data through get_multi, get_multi_cas, or Rails read_multi against more than one memcached server. The fix stops only on the actual MN reply and measures keys in the bytes actually sent.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you use get_multi (or Rails read_multi) against more than one memcached server.

Background info

dalli is vulnerable to Information Disclosure in versions 3.2.0 - 3.2.11, 4.0.0 - 4.3.5, 5.0.0 - 5.0.8, 5.1.0 - 5.1.2 and 5.2.0 - 5.2.0.

How to fix this

Upgrade the dalli library to the patch version.

Are You Affected?

Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.

Free. No credit card required.

Aikido Platform