更新时间:2026-06-05 GMT+08:00
分享

CVE-2025-49844修复指导

漏洞背景

经过身份验证的用户可以使用特别构建的Lua脚本来操作垃圾收集器,触发释放后使用,并可能导致远程代码执行。

漏洞影响范围:Redis内核版本(小于4.0.14.27、5.0.14.10、6.2.20.0) 的所有版本。

漏洞分析

Redis漏洞触发条件困难,需同时满足以下条件才可触发:

  1. Redis实例可被外网访问。
  2. 开启免密访问或密码泄露的实例。

漏洞排查

  1. 排查DCS实例是否可被外网访问。

    查看实例详情页,检查公网访问配置是否开启,如果是已关闭,则表示该实例不被外网访问;如果是已开启,则表示该实例可被外网访问,有被恶意攻击的风险。

  2. 排查是否存在免密访问(Web CLI进入页面不输入密码测试)或者密码泄露风险的实例。如果不存在,则不涉及安全风险;如果存在,则进一步参考后续步骤排查。

    Web CLI连接Redis密码测试:单击“连接Redis”,如果直接跳转到Web CLI页面,则说明实例为免密访问(当配置密码时需要输入访问密码后才会跳转到Web CLI页面)。

    图1 连接Redis

    图2 Web CLI页面

    图3 登录页面

漏洞规避

  1. 如果存在外网访问用户可以开启白名单配置或者暂时关闭公网访问。
    图4 白名单配置

  2. 如果存在免密访问或密码泄露的实例请及时开启密码认证或者修改密码。
    图5 重置密码

    图6 修改密码

漏洞修复方式

  1. 漏洞版本升级
    • 修复版本上线后,新建实例会自动修复。
    • 历史实例需要小版本升级。
    图7 实例小版本升级

  2. 命令重命名方式禁用

    涉及业务原有执行语句修改,配置后需重启存在业务中断,不推荐。

    1. 适用范围:Redis4、5、6 单机、主备、cluster集群

      操作示例:

      1. 访问路径/opt/dcs/data/{实例id-ip-port}/ 查看实例节点上redis禁用命令文件。
        disable_cmd_list.conf
        图8 示例图
      2. 修改disable_cmd_list.conf,添加命令重命名信息。
        rename-command EVAL EVAL123
        rename-command EVALSHA EVALSHA123
        图9 示例图

        或者直接通过空串禁用,禁用后命令将不可用。

        rename-command EVAL ‘’
        rename-command EVALSHA ‘’
        图10 示例图
        图11 示例图

      注意事项

      需要逐个访问所有节点执行一遍上述操作,所有节点执行命令重命名添加完毕后,重启实例生效(业务会中断,依赖客户端具备重连机制)。

      风险点

      黑屏修改命令重命名注入过程,如果上述rename-command指令输入有误,实例重启后会导致节点启动异常,以及上述节点访问修改不全时留有隐患,即后续发生主备节点切换后,新主节点命令禁用内容未生效风险。

    2. 适用范围:Redis4、5、6 proxy、读写分离类型实例

      操作示例:

      修改proxy.conf,添加命令重命名信息。

      proxy-rename-commands eval:eval123,evalsha:evalsha123
      图12 示例图

      注意事项

      需要逐个访问所有proxy节点执行一遍上述操作,所有节点执行命令重命名添加完毕后,重启实例生效(业务会中断,依赖客户端具备重连机制)。

      风险点:

      黑屏修改命令重命名注入过程,如果上述rename-command指令输入有误,实例重启后会导致节点启动异常,以及上述节点访问修改不全时留有隐患,即后续发生主备节点切换后,新主节点命令禁用内容未生效风险。

    3. 适用范畴:Redis3.0 单机、主备

      2.a,区别点:修改路径为/opt/dcs/redis/redis/disable_cmd_list.conf。

      图13 示例图

      注意事项

      需要逐个访问所有节点执行一遍上述操作,所有节点执行命令重命名添加完毕后,重启实例生效(业务会中断,依赖客户端具备重连机制)。

      风险点:

      黑屏修改命令重命名注入过程,如果上述rename-command指令输入有误,实例重启后会导致节点启动异常,以及上述节点访问修改不全时留有隐患,即后续发生主备节点切换后,新主节点命令禁用内容未生效风险。

附录

  1. 在ServiceOM查找所有的大规格虚拟机名称。
    图14 Redis 4.0/5.0物理资源列表

  2. 登录DCS-Server-01节点,通过脚本跳转到大规格虚拟机节点。
    cd /opt/cloud/DCS-Server/bin
    python login_bms.py ${bare_vm_name}
    图15 示例图

  3. 执行以下语句查看EVAL或EVALSHA执行情况。
    grep cmdstat_ eval /opt/dcs/data/*/info/*-00-00-00.data
    图16 示例图

相关文档