Rancher の脆弱性 CVE-2024-22031 が FIX:プロジェクトの名前空間の衝突による権限昇格

Rancher Releases Patch for CVE-2024-22031 Privilege Escalation Vulnerability

2025/04/30 SecurityOnline — SUSE Rancher セキュリティ・チームが発行したのは、人気の OSS コンテナ管理プラットフォーム Rancher の複数バージョンに影響を与える、新たな脆弱性に関するセキュリティ・アドバイザリである。この脆弱性 CVE-2024-22031 (CVSS:8.6) を悪用する攻撃者は、Kubernetes クラスター間での権限昇格を達成し、コンテナ化されたアプリケーションを本番環境で実行するエンタープライズ環境に対して、深刻なリスクをもたらすという。

このアドバイザリには、「特定のクラスターでプロジェクトを作成するユーザーは、別のクラスター内の既存のプロジェクトと同名のプロジェクトを作成できてしまう。この見落としにより、関連リソースである PRTB とシークレットを保存するために、ローカルクラスターで使用される名前空間と、プロジェクトの名前空間の衝突が発生し、別のプロジェクトのリソースへの不正アクセスが可能になる」と記されている。

この問題は Rancher の複数バージョンに影響を及ぼすものであり、以下のリリースにより修正されている:

これらの修正バージョンでは、Rancher による名前空間の割り当て方法を大幅に変更することで、脆弱性が軽減されている。アドバイザリには、「Rancher は、プロジェクト名を名前空間として使用する代わりに、プロジェクト仕様の新しいフィールドである backingNamespace を使用する」と記載されている。

この backingNamespace によると、クラスタ間の権限の混乱を防ぐ、一意で衝突耐性のある参照が保証される。このアーキテクチャ変更は、Rancher コアと、関連する Webhook システムに実装されている。

更新された Webhook ロジックは以下のとおりである:

  1. SafeConcatName (project.Spec.ClusterName, project.Name) を用いて、一意の backingNamespace 値を生成する。
  2. プロジェクト名と名前空間の一致を要求する、以前の検証を削除する。
  3. 改竄を防止するために、backingNamespace フィールドを設定後にロックする。

ただし、この修正は、サポート終了 (EOL) が近づいている、v2.8 リリース・ラインにはバックポートされない。SUSE は、「v2.8 の修正は複雑すぎるため、この EOL が近いバージョンに不安定性のリスクが生じると判断した」と説明している。

また、速やかなアップグレードが不可能なユーザーには、以下の対策が推奨されている:

  • クラスター間で同一の名前を持つプロジェクトを、ユーザーが作成しないようにする。
  • “kubectl get projects -A -o=custom-columns=’NAME:metadata.name’ | sort | uniq -c” を使用して、管理監査を実行し、名前の衝突を特定する。

クラスター間で、なんらかのプロジェクト名が複数回にわたり出現する場合には、セキュリティ・リスクが疑われる。リスクを軽減するため、SUSE は管理者に対して強く推奨するのは、影響を受けるプロジェクトを削除して再作成し、潜在的な名前空間の衝突を解決することである。ただし、一部のインスタンスのみを削除することは推奨されない。なぜなら、プロジェクトへの誤ったアクセス権を、ユーザーが付与してしまう可能性があるからだ。

Rancher の脆弱性 CVE-2024-22031 (CVSS 8.6) が修正されましたが、EoL 間近の Rancher v2.8 は、複雑さと安定性リスクから修正が見送られたとのことです。ご利用のチームは、十分にご注意ください。よろしければ、以下の関連記事も、Rancher で検索と併せて、ご参照ください。

2025/04/03:Rancher に管理権限の脆弱性 CVE-2025-23391
2025/03/03:Rancher の CVE-2025-23388/23389 が FIX
2025/01/16:Rancher の XSS 脆弱性 CVE-2024-52281 が FIX