LinuxSnapのパッケージマネージャーで重大な特権昇格エラーが見つかりました
![Serious privilege escalation errors found in Linux Snap's package manager](https://zmzme.com/wp-content/uploads/2022/02/sigmund-AxAPuIRWHGk-unsplash.jpg)
LinuxSnapのパッケージマネージャーで重大な特権昇格エラーが見つかりました
専門家は、Ubuntu用に設計されたグローバルなアプリケーションパッケージングおよびディストリビューションシステムであるSnapに、簡単に悪用可能な脆弱性を発見しましたが、多くのLinuxディストリビューションで利用できます。この欠陥により、権限の低いユーザーは、Linuxで最高の管理者アカウントであるrootとして悪意のあるコードを実行することができます。
CVE-2021-44731という名前の脆弱性は、Qualysの研究者がSnapのセキュリティ調査中にいくつかのLinuxコンポーネントで発見した一連のバグの一部です。後者は、CVE-2021-44730と呼ばれる他のものとともに、Snapアプリのサンドボックスの作成を担当するツールであるsnap-confineにあります。
スナップとは何ですか?
Snapは、Canonicalによって開発されたLinuxのパッケージマネージャーであり、人気のあるUbuntuデスクトップおよびサーバーディストリビューションの背後にあります。制限されたコンテナ内で実行される「スナップ」と呼ばれるスタンドアロンアプリケーションをパッケージ化して配布し、構成可能なレベルのセキュリティを提供できます。
また確認してください:
スタンドアロンアプリケーションとして、Snapには外部依存関係がないため、クロスプラットフォームにしたり、プラットフォーム間で分散したりできます。従来、すべての主要なLinuxディストリビューションは、独自のリポジトリとソフトウェアマネージャーを維持しています。DebianにはDEBがあり、UbuntuにはPPAがあり、FedoraとRed HatにはRPMがあり、ArchLinuxにはPacmanがあります。これらのシステムはすべて、必要なパッケージを他のすべての依存関係とともに個別のパッケージとしてダウンロードします。一方、Snapは必要なすべての依存関係にバンドルされているため、Snapを搭載したすべてのLinuxシステムにグローバルにデプロイできます。
SnapはデフォルトでUbuntuおよび多くのLinuxディストリビューションに出荷され、メジャーを含む他の多くのディストリビューションでオプションとして利用できます。デスクトップだけでなく、クラウドやIoTアプリケーションの配布にも使用されます。
Snap Confinement(またはQuarantine)には3つのレベルのセキュリティがあり、ほとんどのアプリで厳密モードが使用されます。このモードでは、アプリはファイル、他のプロセス、またはネットワークへのアクセスを要求する必要があります。これは、アプリのサンドボックスモデルや、Androidなどのモバイルオペレーティングシステムの権限と同じです。
アプリケーションのサンドボックス化はSnapの主な機能の1つであるため、この分離を回避してホストシステムを制御できる脆弱性は非常に危険であると見なされます。
特権昇格エラー
Qualysの研究者は、限定された脆弱性を「Oh Snap!More Lemmings」と呼んでいます。これは、2019年に発見されたDirtySockと呼ばれる別の稲妻に似ているためです。Dirty Sock以来、SnapはSUSEセキュリティチームによる広範なセキュリティ監査を受けており、通常、いくつかのコアセキュリティ機能を利用して非常に防御的にプログラムされています。AppArmorプロファイル、seccompフィルター、名前空間など。
Qualysの研究者は、「数日後に監査をほぼ中止しました」と述べ、「限られた脆弱性(特にデフォルトのUbuntuインストール)を検出して悪用することは非常に困難でした」と付け加えました。
しかし、チームはいくつかの小さな欠陥に気づき、先に進むことにしました。これにより、2つの特権昇格の脆弱性が発見されました。CVE-2021-44730、非仮想構成でのみ使用できるハードリンク攻撃。つまり、カーネルのfs.protected_hardlinksが0の場合。CVE-2021-44731は、仮想Ubuntuデスクトップインストールおよび半仮想Ubuntuサーバーインストールで使用できるレース状態です。
「このレースケースは可能性の世界を開きます。snapのmount名前空間(snap-confine自体を介して入力できます)内で、グローバルに書き込み可能で貼り付け不可能なディレクトリを/ tmpに作成するか、他の任意のディレクトリをマウントできます。 / tmpへのファイルシステムの一部であるディレクトリ」-Qualysaアナリストは言います。「inotifyで/tmp/snap.lxdを監視し、エクスプロイトをインストールしてSched_setaffinity()で同じCPUに制限し、setpriority()とschedule_scheduleでスナップクラインスケジューリングの優先度を下げることで、このレース状態に確実に勝つことができます。( )」。
Qualysの研究者は、これらの欠陥を調査しているときに、Snapが使用するライブラリやその他の関連コンポーネントのバグも発見しました。libmountutil-linuxa(CVE-2021-3996およびCVE-2021-3995)での不正なマウント。realpath()glibc(CVE-2021-3998)からの予期しない戻り値。getcwd()glibc(CVE-2021-3999)の1つを介したバッファオーバーフロー/フローアウト。systemd-tmpfiles(CVE-2021-3997)での制御されていない再帰。これらのバグは、今年初めにこれらのコンポーネントで修正されました。
Ubuntuは、サポートするLinuxのほとんどのバージョンでCVE-2021-44731およびCVE-2021-44730のパッチをリリースしました。ただし、ESM 16.04(Extended Security Maintenance)はまだパッチを待っています。どちらの脆弱性も非常に危険であると評価されています。
出典:CSO
。