Redis RCE 漏洞预警:CVE-2026-23479 修复不完整再现新漏洞

· 2026-08-19 14:54 · 5 阅读

原创 腾讯云安全 2026-08-19 14:54 广东

Redis 存在远程代码执行漏洞,经认证攻击者可执行任意命令,PoC 已公开,7.2.x 至 8.10.x 多版本受影响,请立即升级。

概述

Redis 是一款广泛使用的开源内存数据库,基于 ANSI C 编写,支持网络访问与数据持久化,提供字符串、哈希、列表、集合等多种数据结构,并通过多语言 API 广泛集成于 Web 应用、缓存系统与消息队列中。

腾讯云安全中心监测到,Redis 存在一个远程代码执行漏洞,暂无独立漏洞编号。该漏洞源于 CVE-2026-23479 修复补丁不完整,经过身份验证的远程攻击者可通过精心构造的请求触发服务端任意系统命令执行,进而完全控制 Redis 服务器。当前漏洞细节与 PoC 代码已公开,利用门槛较低,建议受影响用户立即评估并升级至安全版本。

漏洞详情

Redis 中的 handleClientsBlockedOnKey() 函数在遍历 db->blocking_keys[key] 链表时,使用了原始列表迭代器而非安全迭代器。当重新执行被阻塞客户端的命令时,可能触发 evictClients() 函数,该函数会释放链表中另一个被阻塞客户端及其对应的迭代器下一个节点。

在下一次迭代中,程序将访问已被释放的内存区域并将其作为合法的 client 对象处理,触发释放后使用(Use-After-Free)漏洞。攻击者可利用堆布局技术,将释放的 1280 字节 jemalloc 槽位重用为伪造的 client 对象,进而通过 updateClientMemoryUsage() 函数的算术运算实现对任意内存地址的读写。

最终,攻击者可将 commandTableDictType.hashFunction 函数指针覆写为 system 函数,在 Redis 命令表查找时触发任意系统命令执行,导致 Redis 服务器被完全控制。

字段

内容

漏洞名称

Redis 远程代码执行漏洞

漏洞编号

暂无(CVE-2026-23479 修复不完整所致)

危害等级

高危

漏洞类型

释放后使用(Use-After-Free)/ 远程代码执行

影响范围

7.2.0 ~ 8.10.0 多个版本区间

参考链接

https://github.com/redis/redis/releases

影响版本

受影响版本

  • 8.10.0 <= Redis < 8.10.1

  • 8.8.0 <= Redis < 8.8.2

  • 8.6.0 <= Redis < 8.6.6

  • 8.4.0 <= Redis < 8.4.6

  • 8.2.0 <= Redis < 8.2.9

  • 7.4.0 <= Redis < 7.4.11

  • 7.2.0 <= Redis < 7.2.16

官方安全版本

  • Redis >= 8.10.1

  • Redis >= 8.8.2

  • Redis >= 8.6.6

  • Redis >= 8.4.6

  • Redis >= 8.2.9

  • Redis >= 7.4.11

  • Redis >= 7.2.16

处置建议

官方修复方案(推荐)

升级至对应系列的最新安全版本。升级前建议做好数据备份,避免意外数据丢失。

当前版本范围

升级至

8.10.0

Redis 8.10.1

8.8.0 ~ 8.8.1

Redis 8.8.2

8.6.0 ~ 8.6.5

Redis 8.6.6

8.4.0 ~ 8.4.5

Redis 8.4.6

8.2.0 ~ 8.2.8

Redis 8.2.9

7.4.0 ~ 7.4.10

Redis 7.4.11

7.2.0 ~ 7.2.15

Redis 7.2.16

官方下载地址:https://github.com/redis/redis/releases

缓解措施(如暂时无法升级)

  • 为 Redis 服务启用强密码认证(requirepass),并限制访问来源 IP;

  • 限制高风险命令(如 CONFIG SETEVAL 等)的访问权限,或通过 rename-command 重命名;

  • 避免将 Redis 服务直接暴露于公网,仅允许可信业务节点访问;

  • 审计 Redis 日志,排查异常的阻塞命令和内存操作记录。

漏洞参考

-END-

——关注云鼎实验室,获取更多安全情报——

跳转微信打开