Intel

AIKIDO-2026-876017

dalli is vulnerable to Argument Injection

Argument InjectionGHSA-4qp6-2jcr-596v Published 6 days ago

58

Medium Risk

This Affects:

RUBYdalli
0.0.1 - 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 meta protocol rejected only CR, LF, and NUL in routing tokens, so a token containing spaces could add arbitrary meta flags to a command and let a user controlled key change an item's TTL, create a stub item on a miss, or read a different key. Failed requests also retried without limit because a successful reconnect reset the failure counter before socket_max_failures was reached, so a server that accepted connections but never replied could hang a request forever. Exceptions raised by application code inside a get_multi block were caught by the same rescue as socket errors and retried the whole call. The fix rejects whitespace and control characters in routing tokens, resets the failure count only when a request completes, and stops catching the caller's own exceptions.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and you use user influenced routing tokens or connect to a memcached server that accepts connections without replying.

Background info

dalli is vulnerable to Argument Injection in versions 0.0.1 - 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