OverlayFS の脆弱性により権限昇格が可能となる

OverlayFS ファイル システムの実装における Linux カーネルの脆弱性 (CVE-2023-0386) が確認されました。この脆弱性を使用すると、FUSE サブシステムがインストールされているシステムで root アクセスを取得し、特権のないユーザーによる OverlayFS パーティションのマウントが可能になります。 user (Linux 5.11 カーネル以降では、非特権ユーザー名前空間が含まれています)。 この問題は 6.2 カーネル ブランチで修正されました。 ディストリビューションでのパッケージ更新の公開は、Debian、Ubuntu、Gentoo、RHEL、SUSE、Fedora、Arch のページで追跡できます。

この攻撃は、setgid/setuid フラグを持つファイルを、nosuid モードでマウントされたパーティションから、suid ファイルの実行を許可するパーティションに関連付けられたレイヤーを持つ OverlayFS パーティションにコピーすることによって実行されます。 この脆弱性は 2021 年に特定された CVE-3847-2021 問題に似ていますが、悪用要件が低い点で異なります。古い問題では xattrs の操作が必要で、ユーザー名前空間 (ユーザー名前空間) の使用に制限されていましたが、新しい問題ではビット setgid が使用されます。 /setuid は、ユーザー名前空間では特に処理されません。

攻撃アルゴリズム:

  • FUSE サブシステムの助けを借りて、ファイル システムがマウントされます。このファイル システムには、root ユーザーが所有し、setuid / setgid フラグを持つ実行可能ファイルがあり、すべてのユーザーが書き込みに使用できます。 マウント時に、FUSE はモードを「nosuid」に設定します。
  • ユーザー名前空間とマウント ポイント (ユーザー/マウント名前空間) の共有を解除します。
  • OverlayFS は、FUSE で事前に作成された FS を最下層として、書き込み可能なディレクトリに基づいて最上層としてマウントされます。 最上層ディレクトリは、マウント時に「nosuid」フラグを使用しないファイル システムに配置する必要があります。
  • FUSE パーティション内の suid ファイルの場合、touch ユーティリティは変更時間を変更し、OverlayFS の最上位層にファイルをコピーします。
  • コピー時にカーネルは setgid/setuid フラグを削除しないため、ファイルは setgid/setuid で処理できるパーティション上に表示されます。
  • root 権限を取得するには、OverlayFS の最上位層に接続されたディレクトリから setgid/setuid フラグを指定してファイルを実行するだけで十分です。

さらに、Google Project Zero チームの研究者によって、Linux 5.15 カーネルのメイン ブランチで修正されたものの、RHEL 8.x/9.x およびCentOSストリーム9。

  • CVE-2023-1252 - Ext4 ファイル システム上にデプロイされた OverlayFS で複数の操作を同時に実行しながら、ovl_aio_req 構造内のすでに解放されたメモリ領域にアクセスします。 この脆弱性により、システム内の権限が強化される可能性があります。
  • CVE-2023-0590 - qdisc_graft() 関数ですでに解放されたメモリ領域を参照しています。 操作はアボートに限定されるものとします。
  • CVE-2023-1249 - file_files_note の mmap_lock 呼び出しが欠落しているため、コアダンプ エントリ コード内のすでに解放されたメモリ領域へのアクセス。 操作はアボートに限定されるものとします。

出所: オープンネット.ru

コメントを追加します