40%のUbuntuに影響大の深刻な脆弱性「GameOver(lay)」、2020年に修正されたはずなのに改めて発見されてしまう非常事態
Linuxディストリビューションの一つであるUbuntuにて、ローカル権限昇格の脆弱(ぜいじゃく)性「GameOver(lay)」が発見されました。CVEは「CVE-2023-2640」および「CVE-2023-32629」の2つで、ともに修正パッチが2023年7月24日にリリース済みであるものの、脆弱性の内容が2020年にLinuxカーネルで修正された「CVE-2021-3493」と同じものとなっており、「なぜ修正済みだったはずの脆弱性が残っていたのか」について今回の脆弱性の発見者であるクラウドセキュリティ企業Wizが解説しています。
GameOverlay Vulnerability Impacts 40% of Ubuntu Workloads | Wiz Blog
https://www.wiz.io/blog/ubuntu-overlayfs-vulnerability
Wizによると影響を受ける主なUbuntuのバージョンは下記の通りで、Ubuntuのワークロードの約40%が該当するとのこと。その他のバージョンについてはUbuntuのCVE-2023-32629およびCVE-2023-2640で確認可能です。
Release | Version | CVE-2023-2640 | CVE-2023-32629 |
---|---|---|---|
Ubuntu 23.04 (Lunar Lobster) | |||
6.2.0 | ✔ | ✔ | |
Ubuntu 22.10 (Kinetic Kudu) | |||
5.19.0 | ✔ | ✔ | |
Ubuntu 22.04 LTS (Jammy Jellyfish) | |||
5.19.0 | ✔ | ✔ | |
6.2.0 | ✔ | ✔ | |
5.15.0 | ✘ | ✘ | |
Ubuntu 20.04 LTS (Focal Fossa) | |||
5.15.0 | ✘ | ✘ | |
5.4.0 | ✘ | ✔ | |
Ubuntu 18.04 LTS (Bionic Beaver) | |||
5.4.0 | ✘ | ✔ |
今回の脆弱性はOverlayFSという機能とファイルのケーパビリティ(Capabilities)に起因するものだったとのこと。OverlayFSはディレクトリを層として束ねて一つのディレクトリに見せる機能で、読み取り専用の一つ以上の下位ディレクトリの層と書き込み可能な上位ディレクトリの層に分かれています。同じ名前のファイルが複数の層にある場合は一番上の層にあるファイルが優先して表示され、またユーザーが読み取り専用の層にあるファイルに書き込もうとした際は自動で上位ディレクトリにファイルをコピーして書き込みます。OverlayFSはDockerコンテナの実現などに利用されています。
また、ケーパビリティはファイルの実行時にroot権限の一部を利用できるようにする機能です。もちろんファイルにケーパビリティを付与できるのはroot権限を持ったユーザーのみとなっていますが、OverlayFSの下位層にユーザー名前空間内のケーパビリティを付与されたファイルが存在する状況で、OverlayFSがそのファイルを上位層にコピーする時に名前空間の制限が誤って解除されてしまい、root権限での実行が可能になっていることをWizが発見しました。
この脆弱性は2020年に解決された「CVE-2021-3493」と同様の内容で、当時の攻撃手法がそのまま通用するとのこと。なぜ修正済みのはずの脆弱性がUbuntuに残っていたのかをWizが調査したところ、2018年1月29日に拡張属性を設定する関数「vfs_setxattr」の代わりにその内部実装である「__vfs_setxattr_noperm」を利用するようにカーネルを変更していたため、2020年12月14日にCVE-2021-3493の修正として「vfs_setxattr」に入った変更の影響を受けていなかったことが判明しました。
今回の脆弱性に対して、Ubuntuは影響を受けるカーネルのバージョンに対して修正パッチを発行しているため、当該のバージョンを利用中のユーザーは新たなバージョンへアップデートすることが非常に重要です。なお、何らかの事情でアップデートできない場合は下記のコマンドでユーザー名前空間の使用を権限を制限したユーザーのみに設定することで今回の脆弱性の悪用を防ぐことが可能とのこと。
sudo sysctl -w kernel.unprivileged_userns_clone=0
システムの再起動後も上記の設定を継続したい場合は下記のコマンドで可能と述べられています。
echo kernel.unprivileged_userns_clone=0 | \
sudo tee /etc/sysctl.d/99-disable-unpriv-userns.conf
・関連記事
新しい脆弱性がCVEで開示されると攻撃準備として15分以内にスキャンされ数時間以内に実際の悪用が試みられる - GIGAZINE
中国はソフトウェアの脆弱性を報告せずにまとめあげてサイバー兵器にしようとしている - GIGAZINE
AMD製CPUにデータを盗み取られる脆弱性「Zenbleed」が存在することが判明、仮想マシンやコンテナも関係なくデータ窃取可能 - GIGAZINE
ChromeのV8 JavaScriptエンジンのゼロデイ脆弱性に対する緊急アップデートをGoogleが実施、既に攻撃に悪用されまくっているため - GIGAZINE
OpenSSLで史上2度目の「致命的」レベルの脆弱性が発見される、2022年11月1日夜間に修正版がリリースされるため即更新を - GIGAZINE
・関連コンテンツ
in セキュリティ, Posted by log1d_ts
You can read the machine translated English article A serious vulnerability ``GameOver (lay)….