关键Lua引擎漏洞PoC利用代码公开
Redis 7.4.5版本的Lua脚本引擎被发现存在三个高危漏洞,包括释放后使用、整数溢出和元表权限提升问题。这些漏洞可能导致远程代码执行或权限提升。Redrays团队已发布概念验证代码(PoC),建议用户立即升级至修复版本以应对这些严重威胁。 2025-10-8 02:43:47 Author: www.freebuf.com(查看原文) 阅读量:21 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

image

Redis 7.4.5版本的Lua脚本引擎中新发现了三个高危漏洞,每个漏洞都存在远程代码执行和权限提升的严重风险。Redrays安全团队已公开发布详细的PoC(概念验证)利用代码,建议相关组织立即采取应对措施。

释放后使用漏洞(CVE-2025-49844)

该漏洞源于脚本解析过程中TString对象保护不足的问题。具体而言,在luaY_parser函数中,Lua解析器未能对新创建的TString对象实施有效保护,导致其可能被提前垃圾回收并引发释放后使用问题:

PoC Exploit Released Lua Engine Vulnerabilities

修复后的代码在解析前先将对象保护在栈中:

PoC Exploit Released Lua Engine Vulnerabilities

攻击者可通过精心设计垃圾回收触发时机,利用此漏洞实现远程代码执行。

整数溢出漏洞(CVE-2025-46817)

unpack()函数在计算元素数量时存在缺陷,当传入极端范围参数时可能导致栈损坏。例如通过构造unpack({1,2,3}, -2, 2147483647)等参数,攻击者可突破数组边界甚至执行任意代码。

元表权限提升漏洞(CVE-2025-46818)

由于字符串和数字等基础类型的元表未正确设置为只读属性,攻击者可篡改这些关键元表。通过精心构造的Lua脚本,恶意行为者能够注入权限提升逻辑或在其他用户上下文中执行代码。

PoC技术细节

RedRays发布的Python版PoC完整验证了三个漏洞的危害性,自动化执行以下测试:

  • 针对释放后使用漏洞(CVE-2025-49844)的堆内存和垃圾回收压力测试
  • 通过模糊测试触发unpack()调用的整数溢出和栈损坏(CVE-2025-46817)
  • 操纵基础类型元表验证权限提升可行性(CVE-2025-46818)

该PoC会连接目标Redis实例并运行最多十项全栈测试,通过Redis EVAL命令发送定制Lua脚本,既能验证漏洞可利用性,也能检测补丁状态,同时输出服务器崩溃/响应等实证数据。

CVE编号 漏洞名称 严重等级
CVE-2025-49844 Lua解析器释放后使用漏洞(deps/lua/src/lparser.c:387) 严重
CVE-2025-46817 unpack()整数溢出漏洞(deps/lua/src/lbaselib.c) 严重
CVE-2025-46818 元表权限提升漏洞(script_lua.c, eval.c) 严重

缓解措施

Redis管理员必须立即升级至修复版本。经源码审计和实际利用验证,这些漏洞显著扩大了Redis的攻击面,特别是允许EVAL命令的环境将面临现实威胁。运行Redis 7.4.5的组织应即刻部署补丁,防止攻击者利用这些漏洞实现完全远程代码执行和未授权权限提升。所有暴露在互联网或不可信环境中的Redis实例都应优先打补丁。

参考来源:

PoC Exploit Released for Critical Lua Engine Vulnerabilities

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/network/451795.html
如有侵权请联系:admin#unsafe.sh