2026年5月5日,Redis官方修复名为DarkReplica的严重远程代码执行漏洞(CVE-2026-23631)。该漏洞源于函数引擎在主从复制时的内存管理缺陷(释放后使用),认证后攻击者可通过构造恶意Lua对象实现宿主机级别任意命令执行。影响7.2.x至8.6.x多版本,建议立即升级并做好访问控制与降权加固。
更多全球网络安全资讯尽在邑安全
一、 漏洞概述
2026年05月05日,Redis 官方发布安全更新,修复了其内部存在的一个严重远程代码执行(RCE)漏洞,代号 DarkReplica,编号为 CVE-2026-23631。
该漏洞源于Redis 较新的函数引擎(Functions engine)在处理主从复制时的内存管理缺陷。经过身份验证的攻击者可利用此漏洞在宿主机上执行任意系统命令,从而完全控制 Redis 服务器。
二、 漏洞分析
Redis DarkReplica 远程代码执行漏洞
漏洞编号: CVE-2026-23631
漏洞类型: 释放后使用 (UAF) / 远程代码执行 (RCE)
利用条件: 需要有效的 Redis 身份验证凭证
简述: 该漏洞针对Redis 的函数引擎(Functions engine)。在主从复制(Replication)过程中,当从节点同步并加载主节点传来的 RDB 文件中的新函数上下文时,如果此时有长时间运行的 Lua 函数处于暂停(yield)状态,复制处理器会释放当前的 Lua 引擎并替换为新上下文,但未阻止暂停的函数恢复执行。
这导致了一个典型的释放后使用(Use-After-Free, UAF) 漏洞。攻击者利用此 UAF 条件,通过堆喷射(Heap Spraying)泄露堆地址、强制确定性堆分配并构造伪造的 Lua 对象。通过在协程中运行恶意代码,攻击者能够重新控制 Lua 虚拟机,生成读写原语,最终将内部函数指针重定向至 libc 函数(如 system()),实现宿主机级别的任意命令执行。
三、 影响版本
|
漏洞 |
影响版本 |
|
CVE-2026-23631 |
Redis 7.2.x 系列 (修复前版本) Redis 7.4.x 系列 (修复前版本) Redis 8.2.x 系列 (修复前版本) Redis 8.4.x 系列 (修复前版本) Redis 8.6.x 系列 (修复前版本) |
四、 防护方案
修复建议:
1、 官方升级修复:
立即将 Redis 升级至 2026年5月5日及之后发布的官方安全修复版本(如 7.2.17+、7.4.5+、8.2.x+、8.4.x+、8.6.x+ 等最新小版本)。升级前请做好数据备份与业务兼容性测试。
2、 强化访问控制与认证:
由于该漏洞为认证后漏洞,阻断未授权访问是第一道防线:
强制强密码:必须配置高强度的 requirepass,严禁弱口令或空密码运行。
启用 ACL 权限最小化:使用 Redis ACL(访问控制列表)为应用程序分配专用账号,严格禁用普通账号执行 SLAVEOF / REPLICAOF、MODULE、EVAL、FUNCTION 等高危命令。
命令重命名:在 redis.conf 中对高危命令进行重命名或禁用
3、 网络边界隔离:
严禁公网暴露:绝对禁止将 Redis 默认端口(6379)直接暴露于互联网。
内网访问控制:通过防火墙、安全组或 iptables,严格限制6379端口的访问来源,仅允许受信任的应用服务器IP或管理堡垒机连接。
4、降权运行与系统加固:
避免使用 root 用户启动 Redis 服务。创建专用的低权限用户(如 redis)运行服务,并限制其对敏感系统目录的读写权限,以缩小 RCE 成功后的破坏半径。
五、 时间线
2025年:ZeroDay.Cloud 安全研究人员在研究中发现该复杂特征漏洞,并提交给 Redis 官方。
2026年05月05日:Redis 官方发布安全补丁,在7.2.x、7.4.x、8.2.x、8.4.x 和 8.6.x 分支中修复CVE-2026-23631。
2026年05月/06月:研究人员发布完整技术报告与利用过程,各大云安全厂商与威胁情报平台更新检测规则。
六、 相关链接
https://nvd.nist.gov/vuln/detail/CVE-2026-23631
原文始发于微信公众号(邑安全):CVE-2026-23631Redis DarkReplica 认证后远程代码执行漏洞预警
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-



评论