Apacheソフトウェア財団は、セキュリティ問題を非常に重要視しています。Apache ZooKeeperプロジェクトのインフラストラクチャとしての性質上、これまで多くの報告はありませんでしたが、だからといって、いくつかのバグや脆弱性に対する懸念がないわけではありません。懸念事項がある場合、または脆弱性を発見したと思われる場合は、security@zookeeper.apache.orgまでメールでご連絡ください。メッセージには、問題の説明と、できれば再現方法を記載してください。このセキュリティアドレスは、未公開の脆弱性についてのみ使用してください。既知の問題への対処は、Jiraおよびメーリングリストを介して通常どおり行う必要があります。**セキュリティ上の問題を公開する前に、プロジェクトのセキュリティアドレスに報告してください。**
ASFセキュリティチームは、脆弱性の処理方法を説明したページを管理しています。詳細については、Webページをご覧ください。
重大度: 重大
影響を受けるバージョン
説明
ACLチェックが欠落しているため、Apache ZooKeeperの永続ウォッチャー処理における情報漏洩。攻撃者は、既にアクセス権を持っている親に永続ウォッチャー(addWatchコマンド)をアタッチすることにより、子znodeを監視できます。ZooKeeperサーバーは、永続ウォッチャーがトリガーされたときにACLチェックを実行しないため、ウォッチイベントがトリガーされるznodeのフルパスがウォッチャーの所有者に公開されます。この脆弱性によって公開されるのはパスのみに限定され、znodeのデータではないことに注意することが重要ですが、znodeパスにはユーザー名やログインIDなどの機密情報が含まれている可能性があるため、この問題は潜在的に重大です。
ユーザーは、問題を修正したバージョン3.9.2、3.8.4にアップグレードすることをお勧めします。
クレジット
周吉安(寒泉) zhoujian.zja@alibaba-inc.com (報告者)
参考資料
https://zookeeper.dokyumento.jp/ https://www.cve.org/CVERecord?id=CVE-2024-23944
重大度: 重大
影響を受けるバージョン
説明
Apache ZooKeeperにおけるユーザー制御キーによる認証バイパスの脆弱性。ZooKeeperでSASLクォーラムピア認証が有効になっている場合(quorum.auth.enableSasl = true)、SASL認証IDのインスタンス部分がzoo.cfgサーバーリストにリストされていることを確認することによって認証が行われます。SASL認証IDのインスタンス部分はオプションであり、 'eve@EXAMPLE.COM' のように欠落している場合、認証チェックはスキップされます。その結果、任意のエンドポイントがクラスターに参加し、偽の変更をリーダーに伝播し始める可能性があり、本質的にデータツリーへの完全な読み取り/書き込みアクセス権が付与されます。クォーラムピア認証はデフォルトでは有効になっていません。
ユーザーは、問題を修正したバージョン3.9.1、3.8.3、3.7.2にアップグレードすることをお勧めします。
あるいは、アンサンブル選挙/クォーラム通信がファイアウォールによって保護されていることを確認することで、問題を軽減できます。
正しいクラスター管理の詳細については、ドキュメントを参照してください。
クレジット
Damien Diederen ddiederen@apache.org (報告者)
参考資料
https://zookeeper.dokyumento.jp/
https://www.cve.org/CVERecord?id=CVE-2023-44981
重大度: 重大
ベンダー: Apacheソフトウェア財団
影響を受けるバージョン: 3.4.14より前のZooKeeper、3.5.0-alphaから3.5.4-betaまでのZooKeeper。サポートされていない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 harrison@patchadvisor.com PatchAdvisor、Inc.によって特定されました。
参考資料: https://issues.apache.org/jira/browse/ZOOKEEPER-1392
重大度: 重大
ベンダー: Apacheソフトウェア財団
影響を受けるバージョン:3.4.10より前のZooKeeper、3.5.0-alphaから3.5.3-betaまでのZooKeeper。サポートされていないZooKeeper 1.xから3.3.xバージョンも影響を受ける可能性があります。
説明:サーバーがクォーラムに参加しようとするときに、認証/承認は適用されません。その結果、任意のエンドポイントがクラスターに参加し、偽の変更をリーダーに伝播し始める可能性があります。
対策:3.4.10以降(3.5ブランチの場合は3.5.4-beta以降)にアップグレードし、クォーラムピア相互認証を有効にします。
あるいは、アンサンブル選挙/クォーラム通信がファイアウォールによって保護されていることを確認することで、問題を軽減できます。
正しいクラスター管理の詳細については、ドキュメントを参照してください。
クレジット:この問題は、FöldiTamásとEugene Koontzによって特定されました。
参考資料:https://issues.apache.org/jira/browse/ZOOKEEPER-1045 https://cwiki.apache.org/confluence/display/ZOOKEEPER/Server-Server+mutual+authentication https://zookeeper.dokyumento.jp/doc/current/zookeeperAdmin.html
重大度:中程度
ベンダー: Apacheソフトウェア財団
影響を受けるバージョン:ZooKeeper 3.4.0〜3.4.9 ZooKeeper 3.5.0〜3.5.2サポートされていないZooKeeper 1.x〜3.3.xバージョンも影響を受ける可能性があります
注:3.5ブランチはまだベータ版です。
説明:2つの4文字コマンド「wchp / wchc」はCPUを大量に消費し、悪用されるとZooKeeperサーバーのCPU使用率が急上昇する可能性があり、サーバーが正当なクライアント要求を処理できなくなります。この脆弱性を悪用した既知の侵害はありません。
対策:これはクライアントポートがパブリックにアクセス可能なZooKeeperアンサンブルに影響を与えるため、ファイアウォールでZooKeeperアンサンブルを保護することをお勧めします。この点を明確にするために、ドキュメントも更新されました。さらに、デフォルトで「wchp / wchc」コマンドを無効にするパッチ(ZOOKEEPER-2693)が提供されています。-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ブランチはまだアルファ版です。
説明:ZooKeeper Cクライアントシェル「cli_st」と「cli_mt」には、「cmd」を使用する場合の入力コマンドの解析に関連するバッファオーバーフローの脆弱性があります。
対策:バージョンに関係なく、C cliシェルではなく、フル機能/サポートされているJava cliシェルを使用することが重要です。
ZooKeeper 3.4.xユーザーは3.4.9にアップグレードするか、このパッチを適用する必要があります
ZooKeeper 3.5.xユーザーは、リリース時に3.5.3にアップグレードするか、このパッチを適用する必要があります
このパッチはここで報告されている問題を解決しますが、クライアントを本番環境で使用できるようにはしません。コミュニティは現在、このクライアントを本番環境に対応させる予定はなく、ユーザーはJava cliに移行し、C cliを説明のみに使用することを強くお勧めします。
クレジット:この問題は、Lyon Yang(@ l0Op3r)によって発見されました。