cc3305/CVE-2025-49844
GitHub: cc3305/CVE-2025-49844
针对 Redis 内置 Lua 脚本引擎释放后使用漏洞 CVE-2025-49844 的远程代码执行利用脚本。
Stars: 0 | Forks: 0
# CVE-2025-49844 - RediShell
## CVE 概述
Redis 是一款开源的内存数据库。CVE-2025-49844 是 Redis 内置 Lua 脚本引擎中的一个释放后使用(use-after-free)漏洞。拥有 Lua 脚本执行权限的已认证用户可以发送特制脚本,通过操纵垃圾回收机制触发内存损坏,进而可能导致在 Lua 沙箱外执行远程代码。
该问题影响在发布修复版本之前支持 Lua 脚本的 Redis 版本。建议的修复方式是为 Redis 服务器打上补丁。如果无法立即进行修补,则应通过 ACL 拒绝执行 `EVAL` 和 `EVALSHA` 等命令,以限制 Redis 的 Lua 脚本权限。
## 受影响版本
- 6.2.20 之前的 Redis 6.2 版本
- 7.2.11 之前的 Redis 7.2 版本
- 7.4.6 之前的 Redis 7.4 版本
- 8.0.4 之前的 Redis 8.0 版本
- 8.2.2 之前的 Redis 8.2 版本
## 异常情况
漏洞检测的范围较广,会验证受影响的且启用了 Lua 脚本的 Redis 版本。但利用路径的限制则严格得多,因为它取决于确切的二进制布局、build ID、函数偏移量和 JOP gadget。
该脚本仅可靠支持以下环境:
- 带有 build ID `f5a80511e802827d` 的 `redis:8.2.1-alpine`
- 带有 build ID `fcae35583392417f` 的 `redis:8.2.1-bookworm`
命令执行没有输出。
## 参考
- [Redis 安全公告 - GHSA-4789-qfc9-5f9q](https://github.com/redis/redis/security/advisories/GHSA-4789-qfc9-5f9q)
- [NVD - CVE-2025-49844](https://nvd.nist.gov/vuln/detail/CVE-2025-49844)
- [CVE 详情 - CVE-2025-49844](https://www.cvedetails.com/cve/CVE-2025-49844/)
- [Redis 8.2.2 发布说明](https://github.com/redis/redis/releases/tag/8.2.2)
- [Redis 补丁提交](https://github.com/redis/redis/commit/d5728cb5795c966c5b5b1e0f0ac576a7e69af539)
- [公开的完整漏洞利用 PoC - saneki](https://github.com/saneki/cve-2025-49844)
- [公开的 Docker 实验环境 - raminfp](https://github.com/raminfp/redis_exploit)
标签:Lua, Redis, rizin, XXE攻击, 搜索引擎查询, 漏洞验证脚本, 编程工具, 请求拦截, 远程代码执行, 逆向工具