Redis 五个洞 RESTORE 与 Lua 可致 RCE 升级版本对照

[复制链接]
Redis 这回一次性发了五个 CVE,官方安全公告里把机理、评分、修复版本列全了,我照着原文核了一遍,另外找 Debian 的安全公告做交叉。

五个洞分别是:

CVE-2026-23479,High,CVSS 7.7。被阻塞的客户端在重新执行阻塞命令的过程中被驱逐时会触发 use-after-free,可能导致远程代码执行。官方写的原因是代码没有处理 processCommandAndResetClient 返回错误值的情况。

CVE-2026-25243,High,CVSS 7.7。RESTORE 命令存在非法内存访问,已认证用户用构造好的序列化载荷可以触发,可能导致远程代码执行。

CVE-2026-25588,High,CVSS 7.7。同一类问题出在 RESTORE 命令配合 RedisTimeSeries 模块时。

CVE-2026-25589,High,CVSS 7.7。RESTORE 命令配合 RedisBloom 模块时同样问题。

CVE-2026-23631,Medium,CVSS 6.1。已认证用户可以利用主从同步机制触发 use-after-free,可能导致远程代码执行。官方特别说明,这个只影响配置为(或可能被配置为)replica-read-only 关闭的副本,且存在于所有带 Lua 脚本的 Redis 版本。

fig_redis.png

五个洞的前提都写着"已认证用户",官方明确定性为 post-authentication 问题。这句话不能跳过:它意味着攻击面不是"Redis 暴露在公网就完蛋",而是"谁能连上并且过认证,谁就能往 RCE 走"。很多单位的 Redis 恰恰卡在这——内网可信、免密或者弱口令、ACL 没拆,这种配置下这个前提等于白送。

修复版本官方给了一张表,我按产品线抄下来:

Redis OSS/CE:6.2.22、7.2.14、7.4.9、8.2.6、8.4.3、8.6.3
Redis Software:8.0.10-64、7.22.2-79、7.8.6-253、7.4.6-279、7.2.4-153
CVE-2026-25588 还额外涉及 RedisTimeSeries:v1.12.14、v1.10.24、v1.8.23

Redis Cloud 官方说已经全部升级到修复版本,云上用户不用动。自建的 OSS/CE 和 Software 要自己升。

Debian 那边 10 月 2 日发了 DSA-6538-1,trixie 的修复版本是 5:8.0.2-3+deb13u3,公告里列出的 CVE 是 CVE-2026-23479、CVE-2026-23631、CVE-2026-25243、CVE-2026-81934,另外还有一批没有 CVE 编号的问题:SORT、GEORADIUS、GEORADIUSBYMEMBER、XREAD、XREADGROUP 的 ACL key 权限检查可被绕过,KEYNUM 命令以错误 arity 调用时 ACL key 提取存在越界读,加载 RDB 时 slot 信息缺少校验,blocked client 链表的 use-after-free,HGETEX 越界读,HyperLogLog 哈希函数的整数溢出。Debian 还特别说明 CVE-2026-66373 是对 CVE-2026-25243 的不完整修复,因为那个中间修复从未在 Debian stable 单独发布过,所以没有列进 CVE 清单,这次更新包含了覆盖两个问题的完整修复。

顺带记一个评分争议,挺值得看:CVE-2026-81934 在公开 CVE 记录里最初被评 9.8 Critical,Redis 认为按实际需要的访问、权限、协调和运行时条件应该评 7.5 High,于是申请了复核。9 月 1 日的更新显示公开记录已改为 7.5。同一批问题里厂商和 CVE 记录打分打架不是第一次,看公告的时候把厂商的实际评估也读进去,别只盯着那个数字。

处置上官方给了四条,我认为对自建实例是有用的:

限制网络访问,用防火墙和网络策略把 Redis 的访问源收窄到可信范围。
强制认证,不要留免密配置,CE 和 OSS 上确认 protected-mode 是开着的。
最小权限,RESTORE、EVAL 这类有风险的命令只给可信身份。
保持版本更新。

我加一条实操的:先确认你现在跑的是哪个版本再决定动作,别猜。

redis-server --version
redis-cli INFO server | head -5

另外如果你的实例开放了 Lua 脚本能力(EVAL),CVE-2026-23631 那条对副本的要求是 replica-read-only 关闭,检查一下这个配置:

redis-cli CONFIG GET replica-read-only

返回 yes 的话,那条路径就不成立。

核对说明:五个 CVE 的编号、CVSS 分值(7.7 / 7.7 / 7.7 / 7.7 / 6.1)、OSS/CE 与 Redis Software 修复版本号,在 Redis 官方安全公告与 Redis Trust Center 两处官方来源上完全一致;Debian DSA-6538-1 作为第三方独立来源,其列出的 CVE-2026-23479、CVE-2026-23631、CVE-2026-25243 与官方重叠部分一致,并额外包含 CVE-2026-81934,该 CVE 的评分从 9.8 修正为 7.5 的过程以官方 Trust Center 说明为准。Debian 公告中未分配 CVE 编号的若干问题,官方公告未逐条列出,帖中按 Debian 原文照抄并注明出处。

来源:
Redis 官方安全公告(CVE-2026-23479 / 25243 / 25588 / 25589 / 23631)
https://redis.io/blog/security-advisory-cve202623479-cve202625243-cve-2026-25588-cve202625589-cve-2026-23631
Redis Trust Center
https://trust.redis.io/
Redis Software 8.0.20-127 发布说明(含逐版本 CVE 列表)
https://redis.io/docs/latest/operate/rs/release-notes/rs-8-0-releases/rs-8-0-20-127/
Debian 安全公告 DSA-6538-1
https://lwn.net/Articles/1098231/

**HKTULU**
2026-10-25
@九幽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关链接:

手机版 | 电脑版 | 中国红客

Copyright © 2000 - 2025 中国红客 版权所有 湘ICP备2023007301号-1
中国红客公众号
中国红客公众号
中国红客抖音号
中国红客抖音号
中国红客官方微博
中国红客官方微博
意见
反馈