最高严重级别的Redis RCE漏洞
Redis已修补一个存在13年的远程代码执行漏洞(CVE-2025-49844),昵称为"RediShell",该漏洞影响其内存数据库软件的所有版本。
这个被评为CVSS 10.0的漏洞可能允许经过身份验证的攻击者通过恶意Lua脚本在主机系统上执行任意代码。
Redis在GitHub公告中表示:“经过身份验证的用户可能使用特制的Lua脚本操纵垃圾收集器,触发释放后使用漏洞,并可能导致远程代码执行。”
发现与起源
这个释放后使用(UAF)内存损坏问题存在于Redis的Lua脚本组件中已超过13年。它由Wiz研究人员于2025年5月16日发现并报告,并在公开披露前与Redis开发人员私下协调。
由于Lua脚本默认启用,任何经过身份验证的用户都可能逃逸Lua沙箱并在底层主机上实现本地代码执行。
这种访问可能允许攻击者:
- 窃取凭据和敏感配置文件
- 部署恶意软件或勒索软件
- 从Redis内存或连接系统中窃取数据
- 在云或容器环境中横向移动
受影响版本与修复
Redis已在以下版本中解决了该漏洞:
- 6.2.20
- 7.2.11
- 7.4.6
- 8.0.4
- 8.2.2
这些修补版本于2025年10月3日发布。建议用户立即升级以降低利用风险。
临时解决方法
如果无法立即应用升级:
- 通过阻止EVAL和EVALSHA命令的ACL禁用Lua执行
- 仅将脚本权限限制为受信任的用户或服务
- 确保Redis实例不面向互联网,并受到强身份验证保护
Redis建议审核ACL规则并删除默认或未经身份验证的帐户。
利用潜力
虽然尚未确认主动利用,但Redis实例仍然是高价值目标。Wiz识别了大约330,000台暴露在互联网上的Redis服务器,其中约60,000台完全缺乏身份验证。
Wiz表示:“此漏洞允许认证后攻击者发送特制的恶意Lua脚本以从Lua沙箱逃逸,并实现任意本地代码执行。这授予了完整的主机访问权限,使数据盗窃、擦除、加密或资源劫持成为可能。”
更广泛的影响
Redis服务器通常被用于加密劫持、勒索软件和僵尸网络操作。鉴于Redis在云和DevOps环境中的普遍性,这个存在13年的漏洞在系统修补前代表了一个严重的暴露路径。
组织应优先修补,强制执行严格的身份验证,并监控与Lua相关的异常以减轻潜在利用。