Swati Khandelwal2026 年 7 月 24 日漏洞 / 数据库安全

Redis 于 7 月 23 日发布了 七个安全版本,此前研究人员公布了针对原版 Redis 6.2.22、7.4.9、8.6.4 和 8.8.0 的认证 RCE PoC。

所有四条利用链都需要 RESTORE。Streams 利用链还需要 EVAL 和 XGROUP;8.8.0 利用链则需要 EVAL 和捆绑的 RedisBloom 模块。Redis 表示,底层的内存缺陷可能导致远程代码执行

Redis 6.2.23、7.2.15 和 7.4.10 修复了 Streams 共享 NACK 使用后释放漏洞;Redis 8.2.8、8.4.5 和 8.6.5 修复了 Streams 问题以及 RedisBloom 和 TDigest 越界写入漏洞;Redis 8.8.1 修复了 RedisBloom 和 TDigest 加载器,而 Streams 防护已在 Redis 8.8.0 中存在。

两个 PoC 目标——Redis 6.2.22 和 7.4.9——是 Redis 此前告知用户安装的 5 月安全更新,但这些版本并未包含共享 NACK 所有权防护。

请升级到所部署分支的修复版本。在此之前,请撤销不需要 RESTORE 权限的账户,并阻止不受信任的网络访问。限制 RESTORE 可切断已公开的两种利用路径。

Cybersecurity

截至 2026 年 7 月 24 日,Redis 7 月 23 日的发行说明和审查过的 公开 PoC 仓库均未报告存在野外利用。

通过 RESTORE 的两条路径

Redis Streams 路径是一个共享所有权漏洞。一个损坏的 RDB 对象可能使两个消费者指向同一 pending-entry 记录,因此移除两个消费者将导致同一对象被释放两次。

已发布的脚本旨在将由此产生的内存损坏转化为任意内存访问,并最终调用 system()。

RedisBloom 路径是 TDigest RDB 加载器中的越界写入。该加载器从一个序列化值分配内存,但却在决定加载多少数据时信任另一个攻击者控制的容量字段。

Redis 8.8.0 脚本旨在将这种不匹配转化为读写原语,泄露 Redis 和 libc 地址,并调用 system()。

Streams 共享 NACK 利用链

第一条路径位于 Redis Streams 中。一个损坏的 RDB 对象可能使两个消费者指向同一 pending-entry 记录,该记录在内部由 streamNACK 表示。移除第一个消费者会释放该对象,而第二个消费者仍持有悬空指针。脚本随后也会移除第二个消费者。一次释放,两个块。

Redis 8.6.4 的发行说明引用了 PR #15081。但 The Hacker News 的源代码审查发现,标记为 8.6.4 的源码缺少该变更添加的重复所有权检查。该防护出现在 7 月 23 日发布的 Redis 8.6.5 中。

已发布的 Redis 8.6.4 脚本旨在将双重释放转化为任意内存访问,然后毒化数据库哈希函数,使精心构造的 GET 调用 system()。它会恢复指针并检查 Redis 是否仍能响应。

RedisBloom TDigest 利用链

第二条路径位于 RedisBloom TDigest RDB 加载器中。它从序列化的压缩值分配质心数组,然后在决定可加载多少节点时信任另一个攻击者控制的容量字段。一个小的实际分配配以膨胀的元数据会产生越界写入。

Redis 8.8.0 脚本旨在将该写入转化为读写原语,泄露 Redis 和 libc 地址,并毒化数据库哈希函数,使精心构造的 GET 调用 system()。另一份独立的概念验证公布了相同的根本原因以及针对 Redis 8.8.0 的认证 RCE 利用链。

Cybersecurity

Redis 的 7 月修复要求加载的 TDigest 容量与从压缩值派生的分配相匹配。它还在读取数组前对合并和未合并节点计数器进行边界检查。

七个版本,无新 CVE 记录

该仓库将 Streams 问题归为 CVE-2026-25589“修复不完整家族”的一部分,但 Redis 将该 CVE 映射为 RESTORE 期间的 RedisBloom 内存损坏,而非 Streams 共享 NACK 缺陷。Redis 的 7 月发行说明未列出任一新漏洞类的 CVE 或 CVSS 分数。

截至 7 月 24 日,The Hacker News 的搜索未发现 7 月共享 NACK 或 TDigest 发现的独立 NVD 记录。NVD 仍列出了 5 月的 CVE-2026-25243CVE-2026-25589 记录。对 CISA 已知已利用漏洞目录的搜索未返回任一标识符的条目。

此次披露紧随 另一项 5 月已修复的 AI 发现的 Redis RCE 缺陷之后。Bera Buddies 自称为“AI Agent Research”。Chaofan Shou 在 X 上表示,Kimi K3 智能体在大约 90 分钟内发现了 19 个 Redis 零日漏洞,并在另一次运行中用 27 分钟生成了 Redis 8.8.0 利用工具。

这些数量、时间以及所声称的自主程度仍为自报数据。Redis 的公开记录确认了漏洞和修复,但并未验证所声称的零日数量或智能体独立工作的程度。

Redis 6.2.22 和 7.4.9 是 5 月的目标版本。到 7 月,两者都需要再次更新。请检查确切的分支版本,而非仅判断 Redis 是否“最近已打补丁”。

觉得这篇文章有趣?请在 Google 新闻TwitterLinkedIn 上关注我们,阅读更多我们发布的独家内容。