流行的开源内存数据结构存储系统 Redis 中存在一个高严重性漏洞,该漏洞可能使未经身份验证的攻击者通过耗尽服务器内存来造成拒绝服务(DoS)的情况。
此漏洞编号为 CVE-2025-21605,通用漏洞评分系统(CVSS)评分为 7.5,它影响从 2.6 版本起的所有 Redis 版本,对暴露在外的 Redis 实例构成重大风险。
Redis 内存耗尽漏洞
该漏洞源于 Redis 输出缓冲区管理中的一个根本性设计问题。
默认情况下,Redis 通过 client-output-buffer-limit 配置,不对普通客户端的输出缓冲区设置限制。
这一缺陷使得输出缓冲区可以无限制地增长,有可能耗尽系统的所有可用内存。这个漏洞尤其值得关注,因为无需身份验证即可对其加以利用。
即使在 Redis 服务器上启用了密码保护,攻击者也可以通过发送不提供密码的请求来触发该漏洞。
每次身份验证失败的尝试都会生成 “NOAUTH” 响应,这些响应会在输出缓冲区中不断累积,直到系统内存耗尽或崩溃。
Redis 的维护者在其安全公告中解释道:“未经身份验证的客户端可以导致输出缓冲区无限制地增长,直至服务器内存耗尽或被终止运行。”
安全研究员 polaris-alioth 以负责任的态度披露了这一漏洞,这体现了安全社区与 Redis 维护者之间的持续合作。
风险因素 | 详情 |
受影响产品 | 从 2.6 版本到已修复版本之前的 Redis 版本 |
影响 | 拒绝服务(DoS) |
利用前提条件 | 无需身份验证或特权;对 Redis 实例有网络访问权限 |
CVSS 3.1 评分 | 7.5(高) |
攻击途径被归类为基于网络的,复杂程度低,无需特权或用户交互。虽然该漏洞不会损害数据的机密性或完整性,但它会直接影响系统的可用性,因此被评定为高严重性等级。
从技术角度来看,这个问题源于 Redis 对客户端连接的处理。
每个未经授权的命令都会生成错误响应,这些响应会消耗服务器输出缓冲区中的内存。由于 Redis 未能实施适当的输出缓冲区限制,这些响应会无限制地累积。
受影响版本及补丁
该漏洞影响从 2.6 版本到以下已修复版本之前的所有 Redis 版本:
1.Redis 开源软件 / 社区版(OSS/CE)7.4.3 及以上版本
2.Redis 开源软件 / 社区版(OSS/CE)7.2.8 及以上版本
3.Redis 开源软件 / 社区版(OSS/CE)6.2.18 及以上版本
4.Redis Stack 7.4.0-v4 及以上版本
5.Redis Stack 7.2.0-v16 及以上版本
6.Redis Stack 6.2.6-v20 及以上版本
Redis 云服务已经升级了必要的修复程序,云服务客户无需采取任何行动。然而,自行管理 Redis 部署的企业应尽快升级到已修复的版本。
对于无法立即升级的企业,Redis 维护者建议采取以下替代缓解策略:
1.使用防火墙、iptables 或云安全组实施网络访问控制,以防止未经身份验证的连接
2.启用传输层安全协议(TLS)并要求客户端证书身份验证
3.为客户端配置适当的输出缓冲区限制
Redis 在其公告中指出:“要利用这个漏洞,需要将 Redis 端点公开暴露在外。” 这强调了在部署 Redis 服务器时采取适当网络安全措施的重要性。
在其基础设施中使用 Redis 的企业应评估自身面临的风险,并立即采取适当的缓解措施。
发表评论
您还未登录,请先登录。
登录