CVE-2026-23479Redis是一款流行的内存数据结构存储系统。在7.2.0至8.6.3版本中,redis-server存在严重漏洞。当处理被阻塞客户端的解除阻塞流程时,系统未能正确处理重新执行被阻塞命令时的错误返回。若攻击者在此时触发客户端被驱逐,可导致释放后重用。经过身份验证的攻击者利用此漏洞可执行任意代码,造成远程代码执行风险。
该漏洞源于Redis在重新执行被阻塞命令时的逻辑缺陷。当客户端被阻塞(如BLPOP)后尝试解除阻塞并重新执行命令时,代码调用`processCommandAndResetClient`。如果此时客户端因内存限制等原因被驱逐,该函数返回错误,但解除阻塞流程未正确处理此错误,导致继续访问已释放内存。攻击者可利用此释放后重用漏洞,通过精心构造的请求操控内存数据,覆盖关键指针或劫持执行流,从而在服务器端实现远程代码执行。