Debian Patches
Status for redis/5:8.0.6-3
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| debian-packaging/0001-Set-Debian-configuration-defaults.patch | Set Debian configuration defaults | Chris Lamb <lamby@debian.org> | not-needed | 2017-10-10 | ||
| 0001-Fix-FTBFS-on-kFreeBSD.patch | Fix FTBFS on kFreeBSD | Chris Lamb <lamby@debian.org> | no | 2015-10-30 | ||
| 0002-Add-CPPFLAGS-to-upstream-makefiles.patch | Add CPPFLAGS and CXXFLAGS to upstream makefiles . |
Chris Lamb <lamby@debian.org> | no | 2015-10-30 | ||
| 0003-Use-get_current_dir_name-over-PATHMAX.patch | Use get_current_dir_name over PATHMAX, etc. | Chris Lamb <lamby@debian.org> | no | 2018-01-24 | ||
| 0004-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch | Add support for USE_SYSTEM_JEMALLOC flag. | Chris Lamb <lamby@debian.org> | yes | 2025-05-09 | ||
| 0007-Add-Redis-ver.-REDIS_VERSION-to-LOLWUT-8-output-as-a.patch | Add "Redis ver. $REDIS_VERSION" to LOLWUT 8 output as a some testsuites were relying on it. eg. python-redis (https://github.com/redis/redis-py/blob/master/tests/test_commands.py#L1092) |
Chris Lamb <lamby@debian.org> | yes | 2025-07-14 | ||
| 0009-CVE-2026-21863.patch | Fix for [CVE-2026-21863] Remote DoS with malformed Valkey Cluster bus message | Roshan Khatri <rvkhatri@amazon.com> | no | 2026-02-23 | ||
| debian-packaging/0002-Add-default-includes-for-configuration.patch | Add pre & post includes in configuration redis.conf will now read files from a pre.d and post.d directory when started. This enables avoiding configuration merge on package upgrade, or diversion of the file. =================================================================== |
Julien Lecomte <julien@lecomte.at> | not-needed | 2025-03-12 | ||
| 0010-CVE-2026-23479.patch | Fix use-after-free when evicting blocked client during unblock (CVE-2026-23479) When re-executing a pending command after unblocking, check the return value of `processCommandAndResetClient` and exit if needed. |
"debing.sun" <debing.sun@redis.com> | no | upstream, https://github.com/redis/redis/commit/c14e9925e571c3c8ecbeb8632fe834faa32175ea.patch | 2025-12-29 | |
| 0011-CVE-2026-23631.patch | Fix use-after-free when fullsync happens while replica is running a timed out script (CVE-2026-23631) Fullsync triggers emptyData and scriptingReset which free the scripting/function engine. If a timed out script is still running on the replica, this causes a use-after-free. Delay fullsync processing in readSyncBulkPayload until the script finishes. |
Ozan Tezcan <ozantezcan@gmail.com> | no | upstream, https://github.com/redis/redis/commit/0cca172a174642bdae03b871615227896274d9bb.patch | 2026-04-14 | |
| 0012-CVE-2026-25243.patch | Invalid Memory Access in Redis RESTORE Command (CVE-2026-25243) | Sergei Georgiev <s_ggeorgiev@yahoo.com> | no | upstream, https://github.com/redis/redis/commit/b9dde6fc25dec6191b18374335a076a7b31e3d02.patch | 2025-11-27 | |
| 0013-CVE-2026-66373.patch | Reject corrupt stream RDB with shared NACK across consumers (#15081) **Summary** Detects and rejects corrupt stream RDB payloads where the same NACK (pending entry) is referenced by more than one consumer, which violates a stream data-structure. **Changes** - **`rdbLoadObject` (stream consumer PEL loading)**: Added a guard that checks `nack->consumer != NULL` before assigning the consumer pointer. When a second consumer's PEL references a NACK that was already claimed by a prior consumer, the loader now reports a corrupt RDB error and aborts instead of silently overwriting the pointer. Without this check, two consumers share the same `streamNACK`, and freeing the first consumer's PEL leaves the second with a dangling pointer. - **`corrupt-dump.tcl`**: Added a regression test that crafts a stream with two consumers (`consumerA`, `consumerB`) whose PELs both reference the same entry (`1-0`). The `RESTORE` command is expected to fail with `"Bad data format"`, and the server must remain responsive (`PING` succeeds). **Benefits** - **Fail-fast on corrupt data**: The invariant violation is caught at load time with a clear diagnostic message rather than manifesting as a crash later during normal operation. - **Regression coverage**: The crafted payload in the test ensures this class of corruption is permanently guarded against. |
sggeorgiev <s_ggeorgiev@yahoo.com> | no | upstream, https://github.com/redis/redis/commit/4f62a8bf15c634187d8a87d874f8988032f90b6c.patch | 2026-04-23 | |
| 0014-CVE-2026-81934.patch | Fix use-after-free in tlsProcessPendingData() pending-list iteration (#1391) `tlsProcessPendingData()` iterates `pending_list` using a `listIter`, which pre-caches the `next` node pointer on every `listNext()` call. This cached pointer can dangle and be dereferenced after the node it points to has been freed, causing a use-after-free and a server crash (SIGSEGV). The issue occurs because `tlsHandleEvent()` runs the connection's read handler, which can execute a command (e.g. `CLIENT KILL`) that closes a *different* pending TLS connection. That close path goes through `freeClient()` → `connClose()` → `connTLSClose()`, which calls `listDelNode()` and frees the victim connection's `pending_list` node. If the iterator's cached `next` pointer referenced that node, the following `listNext()` reads freed memory. The `listNext()` contract only permits removing the *current* node, not arbitrary other nodes. Replace the `listIter`-based iteration with a detach-from-head, bounded drain so that no list node pointer is ever held across a handler call: - Re-read `listFirst()` on each iteration instead of relying on a pre-cached `next` pointer - Detach the head via `tlsPendingRemove()` *before* calling `tlsHandleEvent()`, so the loop always makes forward progress - Semantics are preserved: in the common case each connection is handled exactly once per cycle, in order (cherry picked from commit 98ff29b2828bf3245167b416ee23e6797f551a37) |
Sergei Georgiev <s_ggeorgiev@yahoo.com> | no | upstream, https://github.com/redis/redis/commit/6d088c335d5c3ec49a6c28486140b498e70b7834.patch | 2026-06-09 | |
| 0015-CVE-2026-92925.patch | Reject cluster bus PING extensions with missing null terminator (#15263) The cluster bus PING/PONG/MEET packet parser validated extension padding and total length but never checked that string-carrying extensions are properly null-terminated, allowing a crafted packet to trigger out-of-bounds reads when the payload is later consumed as a C string. 1. **Null-termination check for hostname and human-nodename extensions (`cluster_legacy.c`)** Added a check inside the existing extension-validation loop in `clusterProcessPacket`: for `CLUSTERMSG_EXT_TYPE_HOSTNAME` and `CLUSTERMSG_EXT_TYPE_HUMAN_NODENAME` extension types, it verifies that the data portion is non-empty (`datalen > 0`) and that the last byte is `''`. Packets failing this check are rejected with a warning log and an early return, the same way other malformed-extension cases are handled. 2. **Test (`hostnames.tcl`)** A new test exercises the rejection path by constructing a raw cluster-bus PING packet with a 32-byte hostname extension that contains no `''`, sending it directly to a node's bus port, and verifying the packet is dropped (warning logged, hostname not updated in `CLUSTER NODES`). Two helper procs (`build_cluster_bus_ping` and `build_hostname_extension`) build the binary packet from scratch in Tcl, allowing fine-grained control over extension contents without needing a modified Redis sender. |
Sergei Georgiev <s_ggeorgiev@yahoo.com> | no | upstream, https://github.com/redis/redis/commit/37894faeea11e2db28b9fc2af378a762d2c36523.patch | 2026-06-05 |
All known versions for source package 'redis'
- 5:8.6.3-1 (experimental)
- 5:8.0.6-3 (forky, sid)
- 5:8.0.2-3+deb13u2 (trixie-security, trixie)
- 5:7.0.15-1~deb12u10 (bookworm-security)
- 5:7.0.15-1~deb12u7 (bookworm)
