CVE-2024-23944: Critical Apache ZooKeeper Flaw Exposes Sensitive Data, Patch Immediately
2024/03/14 SecurityOnline — Apache ZooKeeper に、深刻な脆弱性 CVE-2024-23944 が発見された。この脆弱性の悪用に成功した攻撃者は、秘密裏に機密情報の監視が可能となり、設定と管理のためにおいて ZooKeeper に依存しているシステムを、危険にさらす可能性を生み出す。

ZooKeeper は何のためにあるのか?
ZooKeeper は、数多くの複雑なアプリケーションのために機能する。そして、以下のようなコア・サービスを提供している:
- 集中設定: 分散されたシステム間でのコンフィグを保存/同期させ、すべてが同じページにいることを保証する。
- ネーミング・サービス: 内部システムの電話帳のようなものであり、コンポーネント間での容易な発見を実現する。
- 同期: 分散タスクを管理し、正しい順序でアクションを実行し、リソースが衝突しないようにする。
脆弱性とは?
この問題のコアは、ZooKeeper の “Persistent Watchers” の扱い方にある。これらの Watchers は、ZooKeeper のデータ構造において監視される部分で変更が発生したときに、通知をトリガーするためのものである。しかし、セキュリティ・チェックが欠落しているため、すでにある程度のアクセス権を持っている攻撃者は、これらの Watchers を悪用し、彼らが可視化できないはずの領域をスパイできる。
セキュリティ・アドバイザリには、「ACL チェックの欠落により、Apache ZooKeeperの Persistent Watchers 処理には情報漏えいの脆弱性が存在する。攻撃者が既にアクセス権を持つ親に Persistent Watchers (addWatch コマンド) をアタッチすることで、攻撃者は子 Znode を監視できる。ZooKeeper サーバは、Persistent Watchers がトリガーされたときに ACL チェックを行わないため、ウォッチ・イベントがトリガーされた Znode のフルパスが Watchers のオーナーに公開されてしまう」と記されている。
この脆弱性により、機密データの内容がダイレクトに漏れることはないが、データストアへのパスが暴露される。そして、これらのパスには、ユーザー名/システム識別子/設定の詳細などの、攻撃者に悪用され易い貴重な手がかりが含まれることが多い。
誰が影響を受けるのか?
以下の Apache ZooKeeper バージョンを使用している組織は、この脆弱性の影響を受ける:
- 3.9.0 〜 3.9.1
- 3.8.0 〜 3.8.3
- 3.6.0 〜 3.7.2
対処方法
- 迅速なアップグレード:すでに Apacheにより、パッチ適用されたバージョン 3.9.2/3.8.4 がリリースされている。これらのアップデートを、最優先でインストールしてほしい。
- ZooKeeper の使用状況の確認: システム内で ZooKeeper を使用されている場所を特定する。機密性の高いデータを管理するアプリケーションに対して、優先的にパッチを適用する。
- アクセスの制限: ZooKeeper に対する厳格なアクセス制御を、可能な限り実施する。パッチ適用後も、攻撃対象領域を限定するよう心がける。
ZooKeeper の脆弱性を伝える記事ですが、ZooKeeper 自身の解説もしてくれるので、とても助かります。先ほどの Apache CXF に続いて、またも Apache の脆弱性ですが、それだけ、たくさんの OSS が集まっているわけです。よろしければ、Apacheで検索も、ご利用ください。
You must be logged in to post a comment.