Kubernetes 用 NGINX Ingress コントローラーに未パッチの高リスクのセキュリティ脆弱性が3つ存在し、攻撃者がクラスタから機密情報を盗み出す可能性があります。
これらの脆弱性には以下が含まれる:
CVE-2022-4886 (CVSS スコア: 8.8) - Ingress-nginx パスのクリーンアップをバイパスされ、Ingress-nginx コントローラの認証情報を取得される可能性があります。
CVE-2023-5043 (CVSS スコア: 7.6) - Ingress-nginx アノテーションのインジェクションにより任意のコマンドが実行される
CVE-2023-5044 (CVSS スコア: 7.6) - nginx.ingress.kubernetes.io/permanent-redirect アノテーションを経由したコードインジェクション
KubernetesのセキュリティプラットフォームであるARMOのCTO兼共同設立者であるBen Hirschberg氏は、CVE-2023-5043とCVE-2023-5044について、「これらの脆弱性により、攻撃者はクラスタから機密情報を盗むためにIngressオブジェクトの設定を制御することができる。"
これらの脆弱性の悪用に成功すると、攻撃者は任意のコードを Ingress コントローラプロセスに注入し、機密データへの不正アクセスを得ることができます。
サイバーセキュリティ
CVE-2022-4886は、"spec.rules[].http.paths[].path "フィールドの検証不足によるものです。の認証情報を盗むことができます。
Hirschberg氏は、「Ingressオブジェクトにおいて、オペレータはどの受信HTTPパスがどの内部パスにルーティングされるかを定義することができる。脆弱なアプリケーションは、内部パスの有効性を適切にチェックすることができません。内部パスは、APIサーバーに対する認証のためのクライアント認証情報であるサービス・アカウント・トークンを含む内部ファイルを指している可能性があります。
修正がない場合、ソフトウェアのメンテナは、"strict-validate-path-type" オプションを有効にし、-enable-annotation-validation フラグを設定するなどの緩和策をリリースしました。無効な文字を含むIngressオブジェクトの作成を防止し、追加の制限を実施するためです。
ARMOは、NGINXをバージョン1.19に更新し、コマンドライン設定に「-enable-annotation-validation」を追加することで、CVE-2023-5043およびCVE-2023-5044を解決できると述べている。5044.
ハーシュバーグは、「それぞれ異なる問題を指摘しているが、これらの脆弱性はすべて同じ根本的な問題から生じている」と述べた。
「Ingressコントローラは、TLSシークレットとKubernetes APIにアクセスできるように設計されているため、高い特権スコープを持つワークロードになります。さらに、これらは一般的にパブリックなインターネットに面したコンポーネントであるため、それらを経由してクラスタに侵入してくる外部トラフィックの影響を非常に受けやすい。"
元記事はChief Security Officerによるもので、転載の際はhttps://cncso.com/jp/kubernetes-nginx-controller-htmlにセキュリティの脆弱性が見つかる。