
上周非关系型数据库Redis的安全团队发布安全公告,指出他们发布了6.2.20、7.2.11、7.4.6、8.0.4以及8.2.2版本,修复存在于Lua组件的安全漏洞CVE-2025-49844。此为内存释放后再次访问(Use After Free)类型的漏洞,攻击者有机会利用该漏洞远程执行任意代码(RCE),CVSS风险评分为满分10分,危险程度极高。披露此事的安全公司Wiz指出,该漏洞存在于近13年的Redis版本中,且云端环境中约有四分之三采用这些存在漏洞的Redis版本,影响范围极为广泛。
经过身份验证的攻击者可通过精心构造的Lua脚本来操控垃圾回收器(Garbage Collector),触发内存释放后使用的情况,从而可能实施RCE攻击。所有启用了Lua脚本功能的Redis版本均受此漏洞影响。
在今年5月举行的漏洞挖掘竞赛Pwn2Own Berlin 2025上,Wiz披露了这一漏洞,并将其命名为RediShell。该公司强调,这是首个被评定为严重级别的Redis安全漏洞,其危险性不仅在于可实现远程代码执行,更反映出常见使用方式和部署模式中存在的安全隐患。该漏洞在Redis源码中已存在长达13年,攻击者只需在通过身份验证后发送恶意Lua脚本,就有可能突破Lua沙箱限制,在Redis主机上执行任意代码,进而完全控制主机系统,窃取、删除或加密敏感数据,占用系统资源,甚至在云环境中进行横向移动。由于Lua脚本是Redis默认支持的功能,若运维人员未主动关闭该功能,系统即处于暴露状态。
尽管利用RediShell需要攻击者先通过身份验证,但Wiz指出,云端环境中仍存在大量配置不当的Redis实例,容易被渗透。他们共发现约33万个可通过互联网访问的Redis实例,其中6万个无需身份验证即可连接。此外,有57%的云环境通过容器镜像方式部署Redis,其中许多并未采取适当的安全加固措施。
对此,Wiz呼吁运维人员尽快采取应对措施,包括立即升级至新版Redis、启用身份验证机制、关闭Lua Script等非必要功能、以最小权限运行服务、开启事件日志与监控、通过防火墙及虚拟私有云(VPC)落实网络层访问控制,并限制仅允许来自授权网络环境的访问请求。