CVE-2025-49844"RediShell"安全研究报告
内容提要
CVE-2025-49844 'RediShell' 是Redis中的严重漏洞,允许攻击者通过特制Lua脚本进行远程代码执行。该漏洞影响所有支持Lua的Redis版本,存在超过13年,CVSS评分为10.0。已发布修复版本,建议用户立即升级以防止数据泄露和系统控制风险。
关键要点
-
CVE-2025-49844 'RediShell' 是Redis中的严重漏洞,允许攻击者通过特制Lua脚本进行远程代码执行。
-
该漏洞影响所有支持Lua的Redis版本,存在超过13年,CVSS评分为10.0。
-
已发布修复版本,建议用户立即升级以防止数据泄露和系统控制风险。
-
漏洞背景中提到Redis是一个开源的内存数据结构存储系统,支持多种数据结构。
-
Lua脚本引擎从Redis 2.6版本开始引入,允许用户编写Lua脚本在服务器端执行。
-
漏洞的核心问题是Redis嵌入的Lua 5.1解释器中的内存管理缺陷,导致Use-After-Free错误。
-
攻击者可以通过构造特制的Lua脚本来控制内存分配和垃圾回收的时序,从而实现远程代码执行。
-
修复方案通过将Lua对象压入Lua栈,确保其在垃圾回收时被视为可达对象,避免了UAF问题。
-
建议用户在24小时内升级到修复版本,或通过ACL禁用脚本执行权限。
-
长期策略包括建立Redis安全基线,定期安全评估和渗透测试,完善应急响应计划。
延伸解读
漏洞影响范围与风险评估
CVE-2025-49844 'RediShell' 漏洞影响所有支持 Lua 脚本的 Redis 版本,存在超过 13 年。尽管攻击者需要认证权限,但约 6 万个未启用认证的实例暴露在互联网,风险极高。用户应关注自身 Redis 实例的安全配置,特别是认证和脚本执行权限。
修复措施与建议
Redis 已发布多个修复版本,用户应在 24 小时内升级到最新版本以防止数据泄露和系统控制风险。此外,建议通过 ACL 禁用脚本执行权限,确保安全性。长期来看,建立 Redis 安全基线和定期安全评估是必要的防护措施。
技术分析与漏洞成因
该漏洞的根本原因在于 Redis 嵌入的 Lua 5.1 解释器中的内存管理缺陷,导致 Use-After-Free 错误。攻击者可以通过构造特制的 Lua 脚本控制内存分配和垃圾回收时序,从而实现远程代码执行。了解这一机制有助于开发更有效的防护策略。
延伸问答
CVE-2025-49844 'RediShell'漏洞的主要影响是什么?
该漏洞允许攻击者通过特制Lua脚本实现远程代码执行,影响所有支持Lua的Redis版本,存在超过13年,CVSS评分为10.0。
如何修复CVE-2025-49844漏洞?
用户应立即升级到修复版本Redis 6.2.20、7.2.11、7.4.6、8.0.4、8.2.2及更高版本,或通过ACL禁用脚本执行权限。
CVE-2025-49844漏洞的根本原因是什么?
漏洞的核心问题是Redis嵌入的Lua 5.1解释器中的内存管理缺陷,导致Use-After-Free错误。
CVE-2025-49844漏洞的攻击者需要具备什么条件?
攻击者需要Redis认证权限和Lua脚本执行能力,且目标Redis实例未启用认证。
CVE-2025-49844漏洞的修复机制是怎样的?
修复方案通过将Lua对象压入Lua栈,确保其在垃圾回收时被视为可达对象,从而避免了UAF问题。
如何检测Redis是否受到CVE-2025-49844漏洞影响?
可以通过命令检查Redis版本,易受攻击的版本包括6.2.19及以下、7.2.10及以下、8.0.3及以下等。