近日,JFrog安全研究团队披露了Redis数据库中一个高危漏洞的完整利用链。研究表明,即便在2026年,“老式”的栈缓冲区溢出攻击依然能造成严重危害。
该漏洞编号为CVE-2025-62507,CVSS评分高达8.8分。它影响了Redis 8.2.0至8.2.2版本,攻击者可以利用它实现远程代码执行(RCE)。

那么,这个漏洞究竟是怎么产生的呢?根源在于Redis 8.2版本新引入的XACKDEL命令。这个命令本意是为了优化流处理,允许在一个原子操作中确认并删除多条消息。但开发人员在实现时,遗漏了对用户输入的消息ID数量进行边界检查。当攻击者传入的ID数量超过函数栈上预留的固定大小数组容量时,数据就会溢出,覆盖栈上的关键内存区域,其中就包括决定程序执行流程的函数返回地址。
更令人担忧的是,JFrog团队发现官方的Redis Docker镜像默认没有启用栈金丝雀(stack canary)保护机制。这个安全疏漏使得原本需要精心构造的栈溢出攻击变得相对容易实现。攻击者可以精确控制指令指针(EIP/RIP),通过面向返回编程(ROP)技术绕过NX(数据不可执行)保护,进而调用系统的mprotect函数将栈内存标记为可执行,最终成功运行恶意Shellcode。
研究人员已经通过构造包含XGROUP CREATE和特制XACKDEL命令的攻击序列,成功触发了反向Shell,完整验证了整个攻击链的可行性。这证明了该漏洞在真实环境中的严重威胁。
根据Shodan的扫描数据,全球范围内仍有大约3262台服务器运行着受影响的Redis版本。其中,美国、德国和中国的暴露实例数量位居前三。由于Redis默认不强制进行身份验证,该漏洞可以被未经授权的远程攻击者直接利用,无疑会成为黑客的重点攻击目标。
目前,Redis官方已在8.3.2版本中修复了这一漏洞。安全专家强烈建议所有使用受影响版本的用户立即进行升级。同时,务必检查Redis实例的网络暴露情况,严格限制其公网访问,以最大限度降低被攻击的风险。
本文技术资讯整理自securityonline.info,更多深入的技术讨论和漏洞分析,欢迎访问云栈社区的安全技术板块进行交流。
|