Ubuntu Snap の Sandbox Escape の脆弱性 CVE-2024-1724 が FIX:Linux システムを脅かす恐れ

CVE-2024-1724: Snap Sandbox Escape Vulnerability Threatens Linux Systems

2024/07/01 SecurityOnline — Ubuntu などの Linux ディストリビューションで人気のパッケージ・マネージャーである Snap に存在する深刻な脆弱性が、セキュリティ研究者 McPhail のセキュリティ情報公開で特定された。この脆弱性 CVE-2024-1724 の悪用に成功した攻撃者は、Snap のサンド・ボックス環境を回避しながら、ユーザーのシステム上で任意のコード実行が可能にするという。

Ubuntu のデフォルト機能である Snap パッケージ・マネージャーは、Canonical が運営する Snap ストアからの、ソフトウェアのインストールと管理を容易にするものだ。そして Snap パッケージは、AppArmor や seccomp などのセキュリティ・フレームワークにより制限/限定された環境で動作する。ただし、これらのパッケージにおいては、home 権限を使用してユーザーのホーム・ディレクトリにアクセスするなどの、一連の制限を緩和するための権限の要求も可能となっている。


一般的には、home ディレクトリの最上位における 、dot-files や dot-directories へのアクセスには、いくつかの制限がある。しかし、home 権限を自動的に承認するという Canonical のポリシーが、この脆弱性の要因となっている。このポリシーが意図しているは、SSH 鍵などの機密ファイルへの不正アクセスの防止であるが、深刻な脆弱性が存在することが McPhail の発見により明らかになった。

脆弱性 CVE-2024-1724 は、Snap の home 権限と、ユーザーの “$HOME/bin” ディレクトリ間での、相互作用に左右される。シェルへのログイン時に、デフォルトで実行される “.profile” スクリプトだが、”$HOME/bin” ディレクトリが存在する場合には、それを、ユーザーの “$PATH” に追加する。その結果として、対象となるディレクトリ内の実行ファイルを、フルパスで指定する必要がなくなる。

つまり、Snap が管理するディレクトリへのシンボリック・リンクを、”$HOME/bin” から作成し、悪用することが可能であることを、McPhail が示したことになる。この Snap のシンボリック・リンクにより、“$HOME/bin” への書き込みを防ぐように設計された AppArmor ルールが回避される。したがって、リンク先のディレクトリ内の実行ファイルが、Snap のサンド・ボックス外で実行されることになる。

McPhail の実証実験では、 “evilsnap” と名付けられた悪意のシンボリック・リンクが作成され、保護されているはずの “.bashrc” ファイルにアクセスするように設計された、スクリプトが配置されている。ユーザーがログインすると、シェルはシンボリック・リンクをあたかも “$HOME/bin” であるかのように扱い、制限のないコードが Snap により実行され、”.bashrc” ファイルへの Read が達成される。

この脆弱性の影響は深刻であり、ユーザー・システムの完全な乗っ取りを、攻撃者に対して許す可能性が生じる。つまり、データ搾取/不正アクセスなどが引き起こされ、追加のマルウェアのインストールへとつながる恐れもある。

幸いなことに、すでに Snap 開発チームにより、この脆弱性に対するパッチが適用されている。悪用のリスクを軽減するためにも、Snap パッケージ・マネージャーの、最新版へのアップデートを強く推奨する。