【漏洞通告】关于Redis远程代码执行漏洞的预警通报

安全通告

关于Redis 远程代码执行漏洞的预警通报

发布日期:2026-0820

[2026]013

漏洞描述

2026年08月20日监测发现,Redis 存在一处高危远程代码执行漏洞,系 CVE-2026-23479 官方修复不完整导致。该漏洞核心成因是handleClientsBlockedOnKey()函数在处理阻塞客户端逻辑时,使用原始列表迭代器遍历数据,在重新处理客户端业务过程中,执行缓存驱逐(eviction)操作时,可误释放其他客户端对象及对应迭代器节点,触发释放后使用(Use‑After‑Free)内存损坏漏洞。攻击者可通过构造恶意请求调整堆内存布局,实现任意地址读写,篡改hashFunction函数指针并替换为 system 系统调用函数,最终触发任意远程命令执行。该漏洞利用无需加载外部模块、无需写入本地文件,可绕过 FULL RELRO 内存防护机制。具备 Redis 网络访问权限且通过身份验证的攻击者,可利用此漏洞完全接管 Redis 服务器。

Redis 是一款开源高性能内存键值数据库,常被用于业务数据缓存、会话存储、热点数据加速、消息队列等场景,是各类 Web 及业务系统的核心基础组件。handleClientsBlockedOnKey() 为 Redis 核心处理函数,主要负责管理、唤醒、重试被阻塞的客户端连接请求。Use-After-Free(释放后使用) 为高危内存破坏漏洞类型,指程序内存对象释放后未置空,代码继续引用已释放内存导致可被恶意利用。FULL RELRO 是系统内存安全防护机制,用于防护函数指针篡改攻击,本漏洞可绕过该防护机制。

漏洞危害

经过身份验证的远程攻击者可利用该漏洞构造恶意请求,触发内存破坏并执行任意系统命令,实现服务器完全接管,对服务器安全及业务稳定运行造成极大威胁。

漏洞等级

高危
受影响版本

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。

【临时缓解措施】

启用并强制 Redis 认证,限制低权限用户无法执行 CONFIG、阻塞命令等。

【参考链接】

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

https://github.com/redis/redis/pull/15594

https://github.com/v12-security/pocs/tree/main/redis/server