漏洞概述

漏洞名称

Redis TLS 待处理链表远程代码执行漏洞

漏洞编号

QVD-2026-58458

公开时间

2026-08-26

影响量级

百万级

奇安信评级

高危

CVSS 3.1分数

8.8

威胁类型

代码执行

利用可能性

POC状态

已公开

在野利用状态

未发现

EXP状态

已公开

技术细节状态

已公开

危害描述:攻击者可通过正常的 TLS 命令接口构造复杂的堆布局与时序,将 tlsProcessPendingData() 中的释放后使用缺陷转化为任意地址读写,并最终以 redis-server 进程权限执行任意命令,导致服务器被完全控制。

01

漏洞详情

>>>>

影响组件

Redis 是一个开源的内存数据结构存储系统,支持字符串、哈希、列表、集合等数据结构,并广泛应用于缓存、消息队列等场景。当 Redis 以 TLS 方式对外提供服务时,其网络层会维护一个待处理数据链表(pending_list),用于存放已解密但尚未被消费的连接。

>>>>

漏洞描述

近日,奇安信CERT监测到官方修复Redis TLS 待处理链表远程代码执行漏洞(QVD-2026-58458),该漏洞源于 Redis 在开启 TLS 支持时,tlsProcessPendingData() 使用 adlist 迭代器遍历 TLS 待处理数据链表的过程中存在释放后使用(Use-After-Free)缺陷。攻击者在无需加载模块、无需写入文件、无需借助调试器的情况下,仅通过正常的 TLS 命令接口即可构造复杂的堆布局与时序,最终以 redis-server 进程权限执行任意命令。目前该漏洞PoC和技术细节已公开。鉴于该漏洞影响范围较大,建议客户尽快做好自查及防护。

>>>>

利用条件

1. 目标需开启 TLS 端口;

2. 默认用户需具备 ping、echo、eval 等命令权限;

3. 目标为受影响的 Redis 版本构建(依赖特定 PIE 偏移、jemalloc 行为、内嵌 Lua 5.1 实现与 TLS 支持)。

02

影响范围

>>>>

影响版本

Redis 6.2.* < 6.2.24

Redis 7.2.* < 7.2.16

Redis 7.4.* < 7.4.11

Redis 8.2.* < 8.2.9

Redis 8.4.* < 8.4.6

Redis 8.6.* < 8.6.6

Redis 8.8.* < 8.8.2

Redis 8.10.* < 8.10.1

>>>>

其他受影响组件

03

复现情况

目前,奇安信威胁情报中心安全研究员已成功复现Redis TLS 待处理链表远程代码执行漏洞(QVD-2026-58458),截图如下:

04

处置建议

>>>>

安全更新

官方已在 commit 6d088c3 中修复该缺陷,并随 Redis 8.8.2 版本发布。建议及时升级至最新版本:

Redis 6.2.* >= 6.2.24

Redis 7.2.* >= 7.2.16

Redis 7.4.* >= 7.4.11

Redis 8.2.* >= 8.2.9

Redis 8.4.* >= 8.4.6

Redis 8.6.* >= 8.6.6

Redis 8.8.* >= 8.8.2

Redis 8.10.* >= 8.10.1

下载地址:

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

临时缓解措施:

1. 若业务无需 TLS,请关闭 TLS 端口(tls-port 0),仅保留非 TLS 服务;

2. 对 TLS 端口实施访问控制,仅允许可信来源访问,禁止暴露于公网;

3. 通过 ACL 最小化默认用户权限,禁用 eval、eval_ro、publish、subscribe、lpos、hset 等触发链路所依赖的命令;

4. 启用 client 证书认证,并禁止默认用户远程访问。

05

参考资料

[1]https://github.com/redis/redis/commit/6d088c335d5c3ec49a6c28486140b498e70b7834

[2]https://x.com/v12sec/status/2092320360578629982

声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。