Kubernetes ingress-nginx の脆弱性 CVE-2024-7646 が FIX:直ちにアップデートを!

CVE-2024-7646: A Threat to Kubernetes Clusters Running ingress-nginx

2024/08/18 SecurityOnline — Kubernetes で広く使用されている ingress-nginx コントローラに、新たなキュリティ脆弱性 CVE-2024-7646 (CVSS:8.8) が発見され、マルチテナント環境に深刻な脅威が生じている。この欠陥により、Ingress オブジェクトを作成する権限を持つ攻撃者はアノテーションの検証を迂回し、機密性の高いクラスタ内の認証情報への不正アクセスや、任意のコマンド注入などの可能性を得る。


Ingress-nginx は、クラスタ内のサービスへ向けた外部アクセスを管理する一般的な Kubernetes コントローラであるため、バイパスを可能にするクリティカルな脆弱性の発見は懸念されるべきものである。この脆弱性を悪用する脅威アクターは、特に ingress-nginx 内のアノテーション検証プロセスを標的にすると予測される。そして悪用に成功した攻撃者は、特別に細工された Ingress オブジェクトを作成することで、悪意のあるコマンド注入を可能にする。

デフォルト設定においては、この脆弱性を悪用する攻撃者は、ingress-nginx コントローラ自体の認証情報を取得できる。これらの認証情報は、一般的に、Kubernetes クラスタ内の全ての機密情報へのアクセスを許可するため、悪用による機密データの暴露が達成されると、クラスタ全体のセキュリティが脅かされる可能性が生じる。

脆弱性 CVE-2024-7646 は、管理者以外のユーザーであっても、Ingress オブジェクトを作成できるマルチ・テナント環境にも影響を及ぼす。このようなシナリオでは、脆弱性 CVE-2024-7646 悪用する攻撃者は容易に特権を昇格させ、Kubernetes インフラの重要な部分に侵入していくため、リスクが著しく高まる。

この脆弱性は、Andre Storfjord Kristiansen (@dev-bio) により報告された。

自身のシステムにおける脆弱性の有無は、以下のコマンドを実行して、クラスタ上の ingress-nginx の存在を確認することで判断できる:

kubectl get po -A | grep ingress-nginx-controller

脆弱性 CVE-2024-7646 は、ingress-nginx 1.11.2 未満を実行している環境に影響を及ぼすが、すでにバージョン 1.11.2 で修正されている。このバージョンでは、注釈に対する堅牢な検証が保証され、任意のコマンド・インジェクションが防止される。

管理者に対して強く推奨されるのは、不審な Ingress オブジェクトが存在しないことを、Kubernetes の監査ログで確認することだ。特に、キャリッジ・リターン (\r) を含むアノテーションには注意が必要である。