Redis XACKDEL命令栈溢出漏洞

北京赛克艾威科技有限公司 2025-11-04


  • 漏洞编号:CVE-2025-62507
  • 漏洞等级:高危
  • 漏洞标签:发布预警、公开漏洞
  • 发布时间:2025-11-04

漏洞描述

Redis是一个开源的内存数据库,在8.2版本开始支持XACKDEL命令用于从 Streams 中删除已确认的消息,支持批量操作(多个 ID)。 受影响版本中,XACKDEL默认用长度为 STREAMID\_STATIC\_VECTOR\_LEN(8)的栈数组缓存 IDs;当传入 ID 超过该长度时未切换为堆分配,导致栈缓冲区越界写入,存在潜在远程代码执行风险。 修复版本中通过在 \`xackdelCommand\` 中检测 \`args.numids \> STREAMID\_STATIC\_VECTOR\_LEN\` 时改用堆分配,避免栈越界;并新增测试验证大于静态长度时能安全处理。

修复建议

1. 将组件 redis 升级至 8.2.3 及以上版本

参考链接

https://www.oscs1024.com/hd/MPS-1kni-azvo

https://github.com/redis/redis/security/advisories/GHSA-jhjx-x4cf-4vm8

https://github.com/redis/redis/commit/5f83972188f6e5b1d6f1940218c650a9cbdf7741

https://www.oscs1024.com/hd/MPS-1kni-azvo