Kimi K3 利用最新 Redis 服务器漏洞

Hacker News Top 工具

摘要

一个概念验证漏洞利用仓库展示了多个 Redis 版本(6.2.22 至 8.8.1)中通过流 NACK 双重释放和 RedisBloom 模块漏洞实现远程代码执行的安全问题。这些利用方法绕过了最新的补丁,且需要特定条件。

<a href="https:&#x2F;&#x2F;xcancel.com&#x2F;fried_rice&#x2F;status&#x2F;2080059356322918777" rel="nofollow">https:&#x2F;&#x2F;xcancel.com&#x2F;fried_rice&#x2F;status&#x2F;2080059356322918777</a>
查看原文
查看缓存全文

缓存时间: 2026/07/24 23:04

https://xcancel.com/fried_rice/status/2080059356322918777 — # berabuddies/redis-poc 来源: https://github.com/berabuddies/redis-poc # Redis 认证 RCE(流 NACK 双重释放,TDigest 与 TopK 模块漏洞)针对 Redis 6.2.22、7.4.9、8.6.4 的非破坏性 RCE 利用,利用流消费者组共享 NACK 双重释放(CVE-2026-25243 补丁绕过);针对 8.8.0 利用捆绑 RedisBloom 中的 TDigest 堆溢出;针对 8.8.1 利用 TopK 野释放(CVE-2026-25589 补丁绕过)。 ## 文件 - A_exploit_stock.py — 针对 6.2.22 的利用(redis:6.2.22 镜像) - P74_exploit.py(+ P74_g2.py)— 针对 7.4.9 的利用(redis:7.4) - P86_exploit.py — 针对 8.6.4 的利用(redis:8.6) - P88W_exploit.py(+ P88W_lib.pyP88W_corrupt.py)— 针对 8.8.0 的利用(redis:8.8.0,通过捆绑模块 TDigest 堆溢出) - T88_exploit.py — 针对 8.8.0 和 8.8.1 的利用(通过捆绑模块 TopK 野释放;绕过不完整的 CVE-2026-25589 修复——在 RedisBloom v8.8.0 和 v8.8.2 中,TopK_Destroy 仍然读取所有 k 个指针,超出过小的堆) - A_lib.pyG2_arbread.py — 共享辅助库(必须与利用脚本放在同一目录) - crc64.c/hcrcspeed.c/hlibcrc64.so 的源代码(Redis CRC64,用于构建有效的 RESTORE 载荷) - calibrate.sh — 为非官方构建计算二进制偏移量 - P74_loop.shP86_run.sh — 启动重试包装器 ## 构建(一次性) gcc -shared -fPIC -O2 -o libcrc64.so crc64.c crcspeed.c 要求:Python 3.6+(无需 pip 包)、gcc。 ## 用法 # 6.2.22(默认启用 DEBUG) python3 A_exploit_stock.py [password] [trigger] # 7.4.9 / 8.6.4 — 默认目标,无需 DEBUG 标志 python3 P74_exploit.py [password] [trigger] python3 P86_exploit.py [password] [trigger] # 8.8.0 — 默认目标,强烈建议使用全新的容器/实例 python3 P88W_exploit.py [password] [trigger] # 8.8.0 / 8.8.1 — TopK 野释放,默认目标,建议使用全新实例 python3 T88_exploit.py [password] [trigger] - password — 省略(或传入 "")表示无认证目标 - trigger — shell 命令,默认在 /data/pwned* 下写入证明 示例: # 本地实验室,6.2.22 docker run -d -p 6379:6379 redis:6.2.22 redis-server --requirepass exploitme python3 A_exploit_stock.py 127.0.0.1 6379 exploitme "id > /data/pwned_stock" # 本地实验室,7.4.9 docker run -d -p 6379:6379 redis:7.4 redis-server --requirepass exploitme python3 P74_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned74" # 本地实验室,8.6.4 docker run -d -p 6379:6379 redis:8.6 redis-server --requirepass exploitme python3 P86_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned86" # 本地实验室,8.8.0 docker run -d -p 6379:6379 redis:8.8.0 redis-server --requirepass exploitme python3 P88W_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned88" python3 T88_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned_t88" ## 目标要求 - 6.2.22:默认使用官方镜像偏移量。对于其他构建,可通过覆盖偏移量(--str-format-off 等;参见 --help)或运行 ./calibrate.sh /path/to/redis-server [/path/to/libc.so.6] 生成。错误的偏移量会导致目标服务器崩溃(范围外读取)。 - 7.4.9 / 8.6.4 / 8.8.0 / 8.8.1:官方镜像,无需 DEBUG 标志。 - 用户可用的命令:EVALRESTOREXGROUP(8.8.0/8.8.1 还需要捆绑的 RedisBloom 模块,默认存在)。 - 8.8.0/8.8.1 的利用依赖于内存布局:TDigest 走廊和 TopK 野释放都依赖 jemalloc 布局——请使用全新实例,避免其他客户端/命令介入,若布局调整失败则重试。 ## 注意事项 - 运行后残留(有意且无害):少量利用键维持双重释放的内存块存活;详情见 HARDENING.md。8.8.0 利用会留下约 2000 个清零的 tdigest 结构体 + 一个损坏的 oracle 键——之后不要对目标执行 FLUSHALL/SAVE。 - 共享 NACK 双重释放只在 8.8.0 中修复(PR #15081);8.8.0 利用转而使用另一个未修复的捆绑模块漏洞。 - 展示的补丁绕过:共享 NACK 变体绕过了 CVE-2026-25243 修复;TopK 野释放绕过了 CVE-2026-25589 修复(部分指针清零——在 RedisBloom v8.8.0 和 v8.8.2 中,TopK_Destroy 仍然读取所有 k 个指针,超出过小的堆)。 - 可靠性:6.2.22 10/10,7.4.9 5/5,8.6.4 25/25,8.8.0 5/5 在全新容器上验证通过。失败时干净地中止;重新运行或使用包装器。仅限授权测试。

相似文章

新的 Nginx 漏洞利用

Hacker News Top

Nginx 重写模块中的一个关键堆缓冲区溢出漏洞(CVE-2026-42945)允许未经身份验证的远程代码执行,并且已经发布了概念验证漏洞利用代码。该漏洞影响 Nginx 0.6.27 到 1.30.0 版本以及多个 Nginx Plus 版本。