| Name | CVE-2026-23479 |
| Description | Redis is an in-memory data structure store. In redis-server from 7.2.0 until 8.6.3, the unblock client flow does not handle an error return from `processCommandAndResetClient` when re-executing a blocked command. If a blocked client is evicted during this flow, an authenticated attacker can trigger a use-after-free that may lead to remote code execution. This has been patched in version 8.6.3. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
| References | DSA-6538-1 |
| Debian Bugs | 1147421 |
Vulnerable and fixed packages
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|
| redict (PTS) | forky, sid | 7.3.6+ds-3 | vulnerable |
| redis (PTS) | bookworm | 5:7.0.15-1~deb12u7 | fixed |
| bookworm (security) | 5:7.0.15-1~deb12u10 | fixed |
| trixie | 5:8.0.2-3+deb13u2 | vulnerable |
| trixie (security) | 5:8.0.2-3+deb13u3 | fixed |
| forky, sid | 5:8.0.6-3 | fixed |
| valkey (PTS) | trixie (security), trixie | 8.1.1+dfsg1-3+deb13u2 | vulnerable |
| forky, sid | 9.1.2-1 | fixed |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|
| redict | source | (unstable) | (unfixed) | | | |
| redis | source | experimental | 5:8.6.3-1 | | | |
| redis | source | bullseye | (not affected) | | | |
| redis | source | bookworm | (not affected) | | | |
| redis | source | trixie | 5:8.0.2-3+deb13u3 | | DSA-6538-1 | |
| redis | source | (unstable) | 5:8.0.6-3 | | | 1147421 |
| valkey | source | (unstable) | 9.1.1-1 | | | |
Notes
[bookworm] - redis <not-affected> (Vulnerable code not present)
[bullseye] - redis <not-affected> (Vulnerable code not present)
https://github.com/redis/redis/security/advisories/GHSA-93m2-935m-8rj3
https://www.zeroday.cloud/blog/redis-cve-2026-23479-deep-dive
Fixed by: https://github.com/redis/redis/commit/c14e9925e571c3c8ecbeb8632fe834faa32175ea (8.6.3)
valkey is affected as well, unblockClientOnKey() ignores the C_ERR return of
processCommandAndResetClient(); reproduced under ASan on 8.1.1+dfsg1-3+deb13u2.
https://github.com/valkey-io/valkey/pull/3613
valkey fixed by: https://github.com/valkey-io/valkey/commit/1d7224f3894c8e6db39a9e86c040270b3122c064 (8.1.7)
redict 7.3.x is based on redis 7.2.4, so unlike bookworm/bullseye the reprocess-on-unblock
path is present; unblockClientOnKey() calls processCommandAndResetClient() unchecked