在广受欢迎的开源内存数据结构存储系统 Redis 中发现了一个严重高危漏洞,该漏洞可能使未经身份验证的用户耗尽服务器内存,并导致拒绝服务(DoS)情况的发生。这个漏洞被追踪编号为 CVE-2025-21605,影响从 2.6 版本起的所有 Redis 版本,通用漏洞评分系统(CVSS)评分为 7.5 分。
根据 Redis 的维护人员所说:“一个未经身份验证的客户端可以导致输出缓冲区无限制地增长,直到服务器内存耗尽或者服务器被终止运行。”
这个问题是由 Redis 的默认配置所引发的,因为默认配置没有对普通客户端的输出缓冲区(client-output-buffer-limit)设置限制。由于没有这些限制,输出缓冲区会无限制地增长,久而久之就会导致内存耗尽。
CVE-2025-21605 特别令人担忧的地方在于,攻击可以在无需身份验证的情况下执行。即使启用了密码认证,该漏洞依然存在:
“当 Redis 服务器上启用了密码认证,但客户端未提供密码时,客户端仍然可以通过 NOAUTH 响应使输出缓冲区不断增长,直到系统内存耗尽。”
从本质上来说,恶意客户端只需向服务器大量发送未经授权的请求,就会触发源源不断的 NOAUTH 响应,这些响应会在输出缓冲区中不断累积,最终使系统不堪重负。
从 2.6 版本开始的 Redis 版本都受到此漏洞的影响。以下版本已修复了该问题:6.2.18、7.2.8以及7.4.3。
无法立即进行升级的管理员可以采取其他措施来降低风险:
“在不打补丁修改 redis-server 可执行文件的情况下,另一个缓解此问题的解决方法是阻止访问,以防止未经身份验证的用户连接到 Redis。”
推荐的缓解措施包括:
1.实施网络访问控制,例如使用防火墙、iptables 或云安全组。
2.启用传输层安全协议(TLS)并要求客户端证书认证。
发表评论
您还未登录,请先登录。
登录