ingress-nginxの脆弱性CVE-2021-25745は、Kubernetesコミュニティによって発見されました。 攻撃者は、Ingressのspec.ru les[].http.paths[].pathフィールドを使用して、NGINX Ingressコントローラーの資格情報を取得できます。 資格情報を使用して、クラスター内のすべてのSecretsにアクセスできます。
CVE-2021-25745は高重症度と評価され、その共通脆弱性スコアリングシステム (CVSS) スコアは7.6である。
影響を受けるバージョン
1.2.0より前のingress-nginxバージョンは、この脆弱性の影響を受けます。
この脆弱性は、次のingress-nginxバージョンで修正されています。
- v1.2.0-beta.0
- v1.2.0
この脆弱性の詳細については、「 #8502」をご参照ください。
影響
Ingressを作成または変更できるユーザーは、Ingressのspec.ru les[].http.paths[].pathフィールド (networking.k8s.ioまたはextensions APIグループ) を使用してNGINX Ingressコントローラーの資格情報を取得できます。 資格情報を使用して、クラスターのAPIサーバーにアクセスし、クラスター内のすべてのSecretsにアクセスできます。
緩和
解決策1
Container Service for Kubernetes (ACK) のポリシーガバナンス機能を使用して、ACKCheckNginxPathポリシーをデプロイします。 これにより、危険な設定を含むIngress変更リクエストを拒否できます。 詳細については、「ポリシーガバナンス機能の有効化」および「ACKの定義済みセキュリティポリシー」をご参照ください。
解決策2
管理者以外のアカウントからIngressを作成および変更する権限を削除します。
修正
NGINX Ingressコントローラーのリリースノートをメモし、できるだけ早くNGINX Ingressコントローラーを更新することができます。 NGINX Ingressコントローラーのリリース通知の詳細については、「NGINX Ingressコントローラー」をご参照ください。