CVE-2026-25588
RedisTimeSeries RESTORE invalid memory access may allow remote code execution
RedisTimeSeries is a time-series module for Redis. In all versions before 1.12.14 of RedisTimeSeries, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisTimeSeries module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This has been patched in version 1.12.14.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.7
RedisTimeSeries RESTORE invalid memory access may allow remote code execution
RedisTimeSeries is a time-series module for Redis. In all versions before 1.12.14 of RedisTimeSeries, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisTimeSeries module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This has been patched in version 1.12.14.
- Record
CVE-2026-25588- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-122
- Updated
- 2026-11-02
EUVDEUVD-2026-27413
7.7
RedisTimeSeries is a time-series module for Redis. In all versions before 1.12.14 of RedisTimeSeries, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisTimeSeries module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This has been patched in version 1.12.14.
- Record
EUVD-2026-27413- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
NVD
7.7
RedisTimeSeries is a time-series module for Redis. In all versions before 1.12.14 of RedisTimeSeries, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisTimeSeries module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This has been patched in version 1.12.14.
- Record
CVE-2026-25588- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-122
- Updated
- 2026-11-02
OSV
7.7
RedisTimeSeries RESTORE invalid memory access may allow remote code execution
RedisTimeSeries is a time-series module for Redis. In all versions before 1.12.14 of RedisTimeSeries, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisTimeSeries module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This has been patched in version 1.12.14.
- Record
CVE-2026-25588- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-122
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-25588
7.7
RedisTimeSeries is a time-series module for Redis. In all versions before 1.12.14 of RedisTimeSeries, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisTimeSeries module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This has been patched in version 1.12.14.
- Record
UBUNTU-CVE-2026-25588- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVBIT-keydb-2026-25588 No score
RedisTimeSeries RESTORE invalid memory access may allow remote code execution
RedisTimeSeries is a time-series module for Redis. In all versions before 1.12.14 of RedisTimeSeries, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisTimeSeries module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This has been patched in version 1.12.14.
- Record
BIT-keydb-2026-25588- Updated
- 2026-11-02
Show 4 moreShow less
OSVBIT-redis-2026-25588 No score
RedisTimeSeries RESTORE invalid memory access may allow remote code execution
RedisTimeSeries is a time-series module for Redis. In all versions before 1.12.14 of RedisTimeSeries, the module does not properly validate serialized values processed through the Redis RESTORE command. An authenticated attacker with permission to execute RESTORE on a server with the RedisTimeSeries module loaded can supply a crafted serialized payload that triggers invalid memory access and may lead to remote code execution. A workaround is to restrict access to the RESTORE command with ACL rules. This has been patched in version 1.12.14.
- Record
BIT-redis-2026-25588- Updated
- 2026-11-02
OSVMGASA-2026-0134 No score
Updated redis packages fix security vulnerabilities
(CVE-2026-23479) Use-After-Free in unblock client flow may lead to Remote Code Execution. (CVE-2026-25243) Invalid memory access in RESTORE may lead to Remote Code Execution (CVE-2026-23631) Lua Use-After-Free may lead to remote code execution A user can manipulate data read by a connection by injecting \r\n sequences into a Redis error reply
- Record
MGASA-2026-0134- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10711-1 No score
redis-8.6.3-1.1 on GA media
These are all security issues fixed in the redis-8.6.3-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10711-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21612-1 No score
Security update for redis
This update for redis fixes the following issues:
Changes in redis:
-
Update to 8.10.1
Update urgency: SECURITY: There are security fixes in the release.
- Security fixes
- (CVE-2026-62356) Miscalculated buffer size in CMSketch RDB loading may lead to heap OOB write
- Out-of-bounds access in TopK heap cleanup path (MOD-15410)
- Use-after-free in the TLS pending-data list when a command closes another pending connection
- A malicious RDB payload with an out-of-range SLOT_INFO slot id causes memory corruption during RDB loading, which may lead to Remote Code Execution
- Vector Sets: missing node level validation when loading a vector set from RDB may lead to out-of-bounds access
- Vector Sets: use-after-free when VREM mutates the HNSW graph while background VSIM threads are still running
- Vector Sets: a negative hnsw_search() return was treated as a huge unsigned count, reading past the end of the result arrays
- TLS client certificate authentication bypass: a Common Name containing an embedded NUL byte was truncated, allowing a client to authenticate as another (possibly privileged) ACL user
- #15594 Use-after-free in the blocked-client list when reprocessing a command evicts another client blocked on the same key
- Security fixes
-
Restrict the "modules" flavour to x86_64 and aarch64 -- RedisBloom and RedisTimeSeries abort on anything else with "only supports 64-bit architectures (x64, arm64v8)", redisjson's vendored redis-module is 64-bit only, and modules/common.mk maps no other architecture at all
-
Update to 8.10.0
Major changes compared to 8.8
- Compact hashes - a new hash encoding that reduces memory usage by storing hash field names just once for keys that share a schema
- New command: HIMPORT - high-throughput compact hash bulk insertion
- TLS peer certificate-based server-to-server authentication
- New commands: LMOVEM, BLMOVEM - move multiple elements between lists
- New command: SUNIONCARD - get the cardinality of the union of multiple sets
- New command: SDIFFCARD - get the cardinality of the difference between sets
- New command: BACKUP - node-side implementation for backup and restore based on multi-part AOF (MP-AOF)
- XREAD, XREADGROUP - new MAXCOUNT and MAXSIZE arguments to cap the cumulative reply entries and size
- New command: FT.ALIASLIST - get all aliases for the index
- Stemmer support for Malay and Tagalog languages
- JSONPath extensions
- New commands: TS.NRANGE, TS.NREVRANGE - Query a range across multiple time series; group results by timestamp
- New command: TS.READ - optionally blocking read
- New command: TS.QUERYLABELS - Get a list of labels and label-values
- New command: TS.MRANGE, TS.MREVRANGE - new EXCLUDEEMPTY argument to exclude series with no reported samples
- Performance improvements
-
Update to 8.8.1 Security fixes
- RedisBloom/RedisBloom#1044 Crafted RESTORE payloads in RedisBloom and TDigest may trigger out-of-bounds writes, potentially leading to remote code execution
-
Update to 8.8.0
- New data structure: Array (@antirez)
- Subkey notification for hash fields - field-level notifications
- INCREX: a window counter rate limiter combining INCR, INCRBY, INCRBYFLOAT, bounds, and expiration (@raffertyyu + Redis team)
- XNACK: a new streams command - allow consumers to explicitly release pending messages
- ZUNION, ZINTER, ZUNIONSTORE, ZINTERSTORE: new COUNT aggregator
- JSON.SET: new FPHA argument to specify the FP type for homogeneous FP arrays
- TS.RANGE, TS.REVRANGE, TS.MRANGE, TS.MREVRANGE: multiple aggregators in a single command
- FT.HYBRID KNN clause: new argument to request fewer candidates per shard
- FT.PROFILE HYBRID: profiling support for FT.HYBRID
- Performance improvements
-
Updated to 8.6.3 (boo#1264164 boo#1264165 boo#1264166…
- Record
openSUSE-SU-2026:21612-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
keydbBitnami |
8.0.0 up to 8.2.6, 8.3.0 up to 8.4.3, 8.5.0 up to 8.6.3 | 8.2.68.4.38.6.3 |
redisBitnami |
8.0.0 up to 8.2.6, 8.3.0 up to 8.4.3, 8.5.0 up to 8.6.3 | 8.2.68.4.38.6.3 |
redisMageia:9 From an advisory covering 5 CVEs |
before 7.2.14-1.mga9 | 7.2.14-1.mga9 |
redisUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 2:2.6.13-12:2.6.16-32:2.8.0-12:2.8.2-12:2.8.4-2 Show 6 moreShow less2:2.8.4-2ubuntu0.22:2.8.4-2ubuntu0.2+esm12:2.8.4-2ubuntu0.2+esm22:2.8.4-2ubuntu0.2+esm32:2.8.4-2ubuntu0.2+esm42:2.8.4-2ubuntu0.2+esm5 |
None known |
redisUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 2:3.0.3-32:3.0.5-12:3.0.5-22:3.0.5-32:3.0.5-4 Show 9 moreShow less2:3.0.6-12:3.0.6-1ubuntu0.22:3.0.6-1ubuntu0.32:3.0.6-1ubuntu0.42:3.0.6-1ubuntu0.4+esm12:3.0.6-1ubuntu0.4+esm22:3.0.6-1ubuntu0.4+esm32:3.0.6-1ubuntu0.4+esm42:3.0.6-1ubuntu0.4+esm5 |
None known |
redisUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 4:4.0.1-74:4.0.2-64:4.0.2-95:4.0.5-15:4.0.6-1 Show 13 moreShow less5:4.0.6-25:4.0.7-15:4.0.8-15:4.0.8-25:4.0.9-15:4.0.9-1ubuntu0.15:4.0.9-1ubuntu0.25:4.0.9-1ubuntu0.2+esm25:4.0.9-1ubuntu0.2+esm35:4.0.9-1ubuntu0.2+esm45:4.0.9-1ubuntu0.2+esm55:4.0.9-1ubuntu0.2+esm65:4.0.9-1ubuntu0.2+esm7 |
None known |
redisUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 5:5.0.5-2build15:5.0.6-15:5.0.7-15:5.0.7-25:5.0.7-2ubuntu0.1~esm1 Show 5 moreShow less5:5.0.7-2ubuntu0.15:5.0.7-2ubuntu0.1+esm15:5.0.7-2ubuntu0.1+esm25:5.0.7-2ubuntu0.1+esm35:5.0.7-2ubuntu0.1+esm4 |
None known |
redisUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 5:6.0.15-15:6.0.16-15:6.0.16-1build15:6.0.16-1ubuntu15:6.0.16-1ubuntu1+esm1 Show 5 moreShow less5:6.0.16-1ubuntu1+esm25:6.0.16-1ubuntu1.15:6.0.16-1ubuntu1.1+esm15:6.0.16-1ubuntu1.25:6.0.16-1ubuntu1.2+esm1 |
None known |
redisUbuntu:24.04:LTS |
All versions, plus listed versions 5:7.0.12-15:7.0.14-15:7.0.14-25:7.0.15-15:7.0.15-1build1 Show 6 moreShow less5:7.0.15-1build25:7.0.15-1ubuntu0.24.04.15:7.0.15-1ubuntu0.24.04.25:7.0.15-1ubuntu0.24.04.35:7.0.15-1ubuntu0.24.04.45:7.0.15-1ubuntu0.24.04.5 |
None known |
redisUbuntu:25.10 |
All versions, plus listed versions 5:7.0.15-35:7.0.15-3.15:8.0.2-35:8.0.2-3build15:8.0.2-3ubuntu0.25.10.1 |
None known |
Show 5 moreShow less
| Package | Affected | Fixed |
|---|---|---|
redisUbuntu:26.10 |
All versions, plus listed versions 5:8.0.5-15:8.0.6-25:8.0.6-2build15:8.0.6-3 |
None known |
redisUbuntu:26.04:LTS |
All versions, plus listed versions 5:8.0.2-3build15:8.0.2-3ubuntu0.25.10.15:8.0.5-15:8.0.5-1ubuntu0.1 |
None known |
redisopenSUSE:Tumbleweed From an advisory covering 5 CVEs |
before 8.6.3-1.1 | 8.6.3-1.1 |
redisopenSUSE:Leap 16.0 From an advisory covering 6 CVEs |
before 8.10.1-bp160.1.1 | 8.10.1-bp160.1.1 |
redis-modulesopenSUSE:Leap 16.0 From an advisory covering 6 CVEs |
before 8.10.1-bp160.1.1 | 8.10.1-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-25588 is a high vulnerability (CVSS 7.7) in Redistimeseries, published May 5, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.28%, the 70th percentile. Fixed in keydb 8.2.6.
References
github.com/RedisTimeSeries/RedisTimeSeries/security/advisories/GHSA-7jwr-g5qv-w3gw
github.com/RedisTimeSeries/RedisTimeSeries/releases/tag/v1.12.14
nvd.nist.gov/vuln/detail/CVE-2026-25588
github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25588.json
advisories.mageia.org/MGASA-2026-0134.html
bugs.mageia.org/show_bug.cgi?id=35514
Show 18 moreShow less
lists.opensuse.org/archives/list/[email protected]/message/CVOEZ7I2TIPXYBFA4UYY5GI5Q4VOAD7C
github.com/redis/redis/releases/tag/7.2.13
github.com/redis/redis/releases/tag/7.2.14
ubuntu.com/security/CVE-2026-25588
cve.org/CVERecord?id=CVE-2026-25588
suse.com/security/cve/CVE-2026-23479
suse.com/security/cve/CVE-2026-23631
suse.com/security/cve/CVE-2026-25243
suse.com/security/cve/CVE-2026-25588
suse.com/security/cve/CVE-2026-25589
bugzilla.suse.com/1258706
bugzilla.suse.com/1260399
bugzilla.suse.com/1264164
bugzilla.suse.com/1264165
bugzilla.suse.com/1264166
bugzilla.suse.com/1264167
bugzilla.suse.com/1264168
suse.com/security/cve/CVE-2026-62356
Left out here: the rest of 1 source description. The JSON record has them.