Redis远程代码执行漏洞(CVE-2026-23479补丁绕过)

一、漏洞描述:
Redis存在远程代码执行漏洞,该漏洞源于CVE-2026-23479官方修复不完整。漏洞位于handleClientsBlockedOnKey()函数中,在处理被阻塞客户端时使用原始列表迭代器,重处理某客户端时可能触发eviction释放另一客户端及其迭代器节点,造成Use-After-Free。

攻击者通过堆布局可构造任意地址读写,进而将commandTableDictType.hashFunction函数指针覆写为system函数,在Redis命令表查找时执行任意系统命令,实现服务器完全接管。该漏洞利用无需加载模块或写入文件,即使开启FULL RELRO亦可绕过。

攻击前置条件:攻击者需具备对目标Redis服务的网络访问权限和有效认证凭据。

影响版本:
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

二、确认版本
确认服务器系统版本,目前下面的包是麒麟V10,如果需要其它版本的redis联系问题小组提供
输入下面命令后,查看redis的版本如果是在受影响版本范围内的,需要升级reids,如下图是8.2.2,在8.2.0 <= Redis < 8.2.9范围内

  1. #进入目录
  2. cd /home/seekcy/softs/bin
  3. #查看版本
  4. ./redis-server --version


三、修复方法
1.下载安装包,上传到/home/seekcy/softs,点下方蓝色字下载后,文件名改成 redis-8.8.2-kylin-x86.tar
redis-8.8.2-kylin-x86.tar
2.停止redis服务,移除老的redis配置

  1. #停用redis
  2. ps aux | grep 'redis' | grep -v grep | awk '{print $2}' | xargs kill -9
  3. #进入目录
  4. cd /home/seekcy/softs
  5. #移除bin
  6. mv bin bin_日期

3.解压文件

  1. tar -xvf redis-8.8.2-kylin-x86.tar

4.手动启动redis

  1. #进入softs
  2. cd /home/seekcy/softs
  3. #执行看门狗
  4. ./watchdog.sh

转载请注明作者和出处,并添加本页链接。
原文链接: //svn.seekcy.com/926