Kubernetesコミュニティは最近、脆弱性CVE-2024-3177を発見しました。 この脆弱性により、攻撃者は、ワークロードのコンテナー構成のenvFromフィールドを使用して、ServiceAccount承認プラグインによって適用されるマウント可能なシークレットセキュリティポリシーを回避できます。 この脆弱性により機密情報の漏えいを引き起こすかもしれません。 CVE-2023-51699脆弱性は重大度が低いと評価され、共通脆弱性スコアリングシステム (CVSS) スコアは2.7です。 この脆弱性の詳細については、「 #124336」をご参照ください。
影響を受けるバージョン
次のバージョンのkube-apiserverが影響を受けます。
1.29.0から1.29.3
1.28.0から1.28.8
≤ 1.27.12
この脆弱性は次のバージョンで修正されます:
1.29.4
1.28.9
1.27.13
Container Service for Kubernetes (ACK) クラスターにインストールされているデフォルトのコンポーネントは、この脆弱性の影響を受けません。 ただし、ACKクラスターは、クラスター内のワークロードが次の条件を満たす場合に影響を受けます。
ワークロードのコンテナー、initコンテナー、または一時的なコンテナーは、
envFromフィールドを使用してSecretsをマウントします。ワークロードは、
kubernetes.io/enforce-mountable-secrets注釈を持つServiceAccountを使用します。 次のコマンドを実行して、クラスターで潜在的なリスクを引き起こす可能性のあるServiceAccountsを特定します。kubectl get serviceaccounts --all-namespaces -o jsonpath="{range .items[?(@.metadata.annotations['kubernetes\.io/enforce-mountable-secrets']=='true')]}{.metadata.namespace}{'\t'}{.metadata.name}{'\n'}{end}"
ソリューション
APIサーバーのクラスター監査機能を有効にして、ポッド内のenvFromフィールドへの予期しない更新を識別できます。 詳細については、「クラスター監査の操作」をご参照ください。