Kubernetes コミュニティは、セキュリティ脆弱性 CVE-2024-3177 を公開しました。攻撃者は、ワークロードのコンテナ定義にある envFrom フィールドを使用して、ServiceAccount アドミッションプラグインによって Secret のマウントに課される制限をバイパスできます。これにより、機密情報が漏洩する可能性があります。この脆弱性は、深刻度が低いと評価されており、CVSS スコアは 2.7 です。この脆弱性の詳細については、#124336 をご参照ください。
影響範囲
kube-apiserver コンポーネントの次のバージョンが影響を受けます:
v1.29.0~v1.29.3
v1.28.0~v1.28.8
v1.27.12 以前
コミュニティは、次のバージョンでこの問題を修正しました:
v1.29.4
v1.28.9
v1.27.13
デフォルトのコンポーネントがインストール済みの Container Service for Kubernetes (ACK) クラスターは影響を受けません。ただし、ワークロードが次の両方の条件を満たす場合、クラスターは脆弱である可能性があります:
ワークロード内のコンテナ、init コンテナ、またはエフェメラルコンテナが
envFromフィールドを使用して Secret インスタンスをマウントする。ワークロードが
kubernetes.io/enforce-mountable-secretsでアノテーションされた ServiceAccount を使用する。次のコマンドを実行して、クラスター内の脆弱な可能性のある ServiceAccount インスタンスを特定してください: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 サーバー監査ログを有効にすることで、Pod の envFrom フィールドへの予期しない更新を検出できます。詳細については、「クラスター API サーバーの監査機能の使用」をご参照ください。