Apache 软件基金会非常重视安全问题。由于 Apache ZooKeeper 项目的基础设施性质,我们过去没有收到很多报告,但这并不意味着我们没有对一些错误和漏洞感到担忧。如果您有任何担忧或认为自己发现了漏洞,我们建议您通过电子邮件地址 [email protected] 与我们联系。在邮件中,请尝试提供问题的描述,最好提供一种重现问题的方法。请注意,此安全地址仅应用于未公开的漏洞。已知问题的处理应通过 jira 和邮件列表定期进行。请在公开报告任何安全问题之前,将其报告给项目安全地址。
ASF 安全团队维护了一个页面,其中描述了如何处理漏洞,请查看他们的 网页 了解更多信息。
严重性:严重
受影响版本
说明
由于缺少 ACL 检查,Apache ZooKeeper 中持久监视器处理中的信息泄露。它允许攻击者通过将持久监视器(addWatch 命令)附加到攻击者已访问的父级来监视子 znode。ZooKeeper 服务器在触发持久监视器时不会执行 ACL 检查,因此触发监视事件的 znode 的完整路径会暴露给监视器的所有者。需要注意的是,此漏洞仅暴露路径,不暴露 znode 的数据,但由于 znode 路径可能包含用户名或登录 ID 等敏感信息,因此此问题可能很严重。
建议用户升级到修复此问题的版本 3.9.2、3.8.4。
鸣谢
周吉安(寒泉) [email protected](报告者)
参考
http://zookeeper.net.cn/ https://www.cve.org/CVERecord?id=CVE-2024-23944
严重性:严重
受影响版本
说明
Apache ZooKeeper 中通过用户控制密钥进行授权绕过漏洞。如果在 ZooKeeper 中启用了 SASL 仲裁对等身份验证(quorum.auth.enableSasl=true),则通过验证 SASL 身份验证 ID 中的实例部分是否列在 zoo.cfg 服务器列表中来完成授权。SASL 身份验证 ID 中的实例部分是可选的,如果它不存在,例如“[email protected]”,则将跳过授权检查。因此,任意端点可以加入集群并开始向领导者传播伪造的更改,实质上赋予它对数据树的完全读写访问权限。默认情况下未启用仲裁对等身份验证。
建议用户升级到修复此问题的版本 3.9.1、3.8.3、3.7.2。
或者确保集合选举/仲裁通信受防火墙保护,因为这将缓解此问题。
请参阅文档以了解有关正确集群管理的更多详细信息。
鸣谢
Damien Diederen [email protected](报告者)
参考
https://www.cve.org/CVERecord?id=CVE-2023-44981
严重性:严重
供应商:Apache 软件基金会
受影响版本:3.4.14 之前的 ZooKeeper,3.5.0-alpha 至 3.5.4-beta 的 ZooKeeper 3.5.0。不受支持的 ZooKeeper 1.x 至 3.3.x 版本也可能受到影响。
说明:ZooKeeper 的 getACL() 命令在检索请求节点的 ACL 时不会检查任何权限,并以明文字符串形式返回 ACL Id 字段中包含的所有信息。DigestAuthenticationProvider 使用用于用户身份验证的哈希值重载 Id 字段。因此,如果使用摘要身份验证,则 getACL() 请求会向未经身份验证或无特权的用户泄露无盐哈希值。
缓解措施:使用摘要以外的身份验证方法(例如 Kerberos),或升级到 3.4.14 或更高版本(如果在 3.5 分支上,则升级到 3.5.5 或更高版本)。
致谢:此问题由 Harrison Neal [email protected] PatchAdvisor, Inc. 发现。
参考:https://issues.apache.org/jira/browse/ZOOKEEPER-1392
严重性:严重
供应商:Apache 软件基金会
受影响版本:3.4.10 之前的 ZooKeeper,3.5.0-alpha 至 3.5.3-beta 的 ZooKeeper 3.5.0。不受支持的 ZooKeeper 1.x 至 3.3.x 版本也可能受到影响。
说明:当服务器尝试加入法定人数时,不会强制执行身份验证/授权。因此,任意端点可以加入集群,并开始向领导者传播伪造的更改。
缓解措施:升级到 3.4.10 或更高版本(如果在 3.5 分支上,则升级到 3.5.4-beta 或更高版本),并启用法定人数对等身份验证。
或者确保集合选举/仲裁通信受防火墙保护,因为这将缓解此问题。
请参阅文档以了解有关正确集群管理的更多详细信息。
致谢:此问题由 Földi Tamás 和 Eugene Koontz 发现。
参考:https://issues.apache.org/jira/browse/ZOOKEEPER-1045 https://cwiki.apache.org/confluence/display/ZOOKEEPER/Server-Server+mutual+authentication http://zookeeper.net.cn/doc/current/zookeeperAdmin.html
严重性:中等
供应商:Apache 软件基金会
受影响版本:3.4.0 至 3.4.9 的 ZooKeeper,3.5.0 至 3.5.2 的 ZooKeeper 3.5.0。不受支持的 ZooKeeper 1.x 至 3.3.x 版本也可能受到影响。
注意:3.5 分支目前仍处于测试阶段。
说明:两个四个字母的单词命令“wchp/wchc”非常占用 CPU,如果滥用,可能会导致 ZooKeeper 服务器上的 CPU 利用率激增,从而导致服务器无法处理合法的客户端请求。目前尚未发现利用此漏洞的已知妥协行为。
缓解措施:这会影响客户端端口可公开访问的 ZooKeeper 集群,因此建议使用防火墙保护 ZooKeeper 集群。文档也已更新以阐明这一点。此外,提供了一个补丁 (ZOOKEEPER-2693) 以默认禁用“wchp/wchc”命令。- ZooKeeper 3.4.x 用户应升级到 3.4.10 或应用补丁。- ZooKeeper 3.5.x 用户应升级到 3.5.3 或应用补丁。
参考 [1] https://issues.apache.org/jira/browse/ZOOKEEPER-2693
严重性:中等
供应商:Apache 软件基金会
受影响的版本:ZooKeeper 3.4.0 至 3.4.8 ZooKeeper 3.5.0 至 3.5.2 不受支持的 ZooKeeper 1.x 至 3.3.x 版本也可能受影响
注意:3.5 分支此时仍处于 alpha 阶段。
说明:ZooKeeper C 客户端 shell“cli_st”和“cli_mt”在使用“cmd:
缓解措施:无论版本如何,使用功能齐全/受支持的 Java cli shell 而不是 C cli shell 非常重要。
该补丁解决了此处报告的问题,但并未使客户端准备好投入生产使用。社区目前没有计划让此客户端做好生产准备,并强烈建议用户转到 Java cli,仅将 C cli 用于说明目的。
致谢:此问题由 Lyon Yang (@l0Op3r) 发现