「Kubernetes」に初めて深刻な脆弱性が発見された。Kubernetesは最も人気のあるクラウドコンテナオーケストレーションシステムであるがゆえに、この日がくるのは時間の問題だったと言える。「CVE-2018-1002105」という脆弱性識別番号を割り当てられ、Kubernetesの権限昇格に関する脆弱性とも称されているこの脆弱性は深刻なものであり、共通脆弱性評価システム(CVSS)による深刻度は9.8(最大値は10.0)となっている。
特殊な細工が施されたネットワークリクエストを用いれば、誰でもKubernetes APIサーバ経由でバックエンドサーバとのコネクションを確立できる。そして、いったんコネクションを確立すれば、攻撃者はそのネットワーク接続を介してバックエンドに直接、任意のリクエストを送信できるようになる。それだけではない。こういったリクエストはKubernetes APIサーバのTLS資格情報を用いて認証されたものとなるのだ。
さらに、「デフォルト設定では、すべてのユーザー(認証の有無にかかわらない)に対して、この権限昇格を可能にするディスカバリAPI呼び出しの実行が許可されている」という。つまり、この脆弱性について知っている人物であれば誰でもKubernetesクラスタを手中に収めることができる。
そして、「この脆弱性が悪用されたかどうかを検知する簡単な方法は存在しない。というのも、こういった不正なリクエストは確立されたコネクションを介して行われるため、KubernetesのAPIサーバ監査ログやサーバログ上には記録されないためだ。このようなリクエストはkubeletやaggregated APIサーバのログ上には記録されるが、Kubernetes APIサーバを介した、適切なかたちで認証され、プロキシ化されたリクエストと区別することができない」という点だ。
つまり、Red Hatの言葉を借りると「この権限昇格の脆弱性により、Kubernetesのポッド内で稼働しているあらゆるコンピュートノードに対する完全な管理者権限を、任意のユーザーが得られるようになる。これは大問題だ。これにより攻撃者は機密データを盗み出したり、悪意のあるコードを注入できるようになるだけでなく、本番のアプリケーションやサービスを組織のファイアウォール内から停止させることも可能になる」という。
対策としては、Kubernetesのアップグレードが必要となる。Kubernetesの「v1.10.11」と「v1.11.5」「v1.12.3」「v1.13.0-rc.1」というパッチ適用済みバージョンが用意されている。
Kubernetesを利用しているあらゆるプログラムが脆弱な状態に置かれている。Kubernetesのディストリビューターらは既に修正を公開している。
Red Hatは「『Red Hat OpenShift Container Platform』や『Red Hat OpenShift Online』『Red Hat OpenShift Dedicated』を含む、(同社が提供しているすべての)Kubernetesベースのサービスや製品に影響が及んでいる」と報告するとともに、影響のあるユーザーに対するパッチやサービスアップデートの配信を開始している。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。