Apache ZooKeeper身份验证绕过漏洞CVE-2024-51504
ZooKeeper 是一个分布式协调服务,应用于管理大型分布式系统数据和状态,提供高效分布式锁、配置管理、命名服务和集群管理功能。
一、基本情况
Apache ZooKeeper Apache Hadoop子项目发展而来,于2010年11月正式成为Apache顶级项目,是一个典型分布式数据一致性解决方案。
ZooKeeper 为分布式应用提供高效且可靠的分布式协调服务,提供如统一命名服务、配置管理、集群管理和分布式锁等分布式基础服务。
在解决分布式数据一致性方面,ZooKeeper 并未直接采用 Paxos 算法,而是采用了ZAB(ZooKeeper Atomic poadcast)的一致性协议。
栋科技漏洞库关注到 Apache ZooKeeper 近日修复一个高危身份绕过漏洞,该漏洞被追踪为CVE-2024-51504,CVSS3.1评分达到9.1分。
二、漏洞分析
CVE-2024-51504 高危漏洞存在于Apache ZooKeeper 3.9.0 - 3.9.3 之前版本中,攻击者利用该漏洞实现未经授权访问,造成信息泄露等。
在ZooKeeper管理服务器中使用IPAuthenticationProvider时存在绕过身份验证,只影响ZooKeeper管理服务器中实现的基于IP的身份验证。
当 ZooKeeper Admin Server 使用基于 IP 的身份验证(IPAuthenticationProvider)时,其默认配置下使用HTTP请求头检测客户端IP地址。
即ZooKeeper 管理服务器的 IPAuthenticationProvider 客户端 IP 地址检测默认配置采用 X-Forwarded-For HTTP 标头读取客户端 IP 地址。
而 X-Forwarded-For 请求标头主要由代理服务器用来识别客户端,这就使得默认配置很容易被攻击者欺骗,假装请求来自不同的 IP 地址。
也就导致攻击者可以通过伪造的HTTP请求头(如X-Forwarded-For)中的 IP 地址绕过身份验证,进而实现未经授权访问管理服务器功能。
攻击者利用漏洞可实现未授权访问管理服务器功能并任意执行管理服务器命令(如快照和恢复),从而导致信息泄露或服务可用性问题。
三、 漏洞影响
3.9.0 <= Apache ZooKeeper < 3.9.3
四、 修复建议
目前该漏洞已经修复,受影响用户可升级到以下版本:
Apache ZooKeeper >= 3.9.3
五、 参考链接
https://seclists.org/oss-sec/2024/q4/60
https://zookeeper.apache.org/index.html