Linux カーネルの iSCSI サブシステムに、権限の昇格を可能にする脆弱性

Linux カーネルの iSCSI サブシステム コードに脆弱性 (CVE-2021-27365) が確認されました。この脆弱性により、権限のないローカル ユーザーがカーネル レベルでコードを実行し、システムの root 権限を取得できる可能性があります。 このエクスプロイトの動作するプロトタイプはテストに利用できます。 この脆弱性は、Linux カーネル アップデート 5.11.4、5.10.21、5.4.103、4.19.179、4.14.224、4.9.260、および 4.4.260 で修正されました。 カーネル パッケージのアップデートは、Debian、Ubuntu、SUSE/openSUSE、Arch Linux、および Fedora ディストリビューションで利用できます。 RHEL 修正はまだリリースされていません。

この問題は、2006 年に iSCSI サブシステムの開発中に導入された libiscsi モジュールの iscsi_host_get_param() 関数のエラーが原因で発生します。 適切なサイズ チェックが行われていないため、ホスト名やユーザー名などの一部の iSCSI 文字列属性が PAGE_SIZE (4 KB) 値を超える可能性があります。 この脆弱性は、iSCSI 属性を PAGE_SIZE より大きい値に設定する Netlink メッセージを送信する特権のないユーザーによって悪用される可能性があります。 これらの属性が sysfs または seqfs 経由で読み取られると、属性を sprintf 関数に渡して、サイズが PAGE_SIZE のバッファーにコピーされるコードが呼び出されます。

ディストリビューションにおけるこの脆弱性の悪用は、NETLINK_ISCSI ソケットを作成しようとするときの scsi_transport_iscsi カーネル モジュールの自動ロードのサポートに依存します。 このモジュールが自動的にロードされるディストリビューションでは、iSCSI 機能の使用に関係なく攻撃が行われる可能性があります。 同時に、エクスプロイトの適用を成功させるには、少なくとも XNUMX つの iSCSI トランスポートの登録が追加で必要です。 次に、特権のないユーザーが NETLINK_RDMA ソケットを作成しようとすると自動的にロードされる ib_iser カーネル モジュールを使用して、トランスポートを登録できます。

rdma-core パッケージがシステムにインストールされている場合、エクスプロイトの適用に必要なモジュールの自動読み込みが CentOS 8、RHEL 8、および Fedora でサポートされます。これは一部の一般的なパッケージの依存関係であり、ワークステーションの構成にデフォルトでインストールされます。 GUI を備えたサーバー システムとホスト環境の仮想化。 同時に、コンソール モードでのみ動作するサーバー ビルドを使用する場合、および最小限のインストール イメージをインストールする場合、rdma-core はインストールされません。 たとえば、このパッケージは Fedora 31 Workstation の基本ディストリビューションには含まれていますが、Fedora 31 Server には含まれていません。 Debian と Ubuntu は、RDMA ハードウェアが存在する場合に rdma-core パッケージが攻撃に必要なカーネル モジュールのみをロードするため、影響は少なくなります。

Linux カーネルの iSCSI サブシステムに、権限の昇格を可能にする脆弱性

セキュリティの回避策として、libiscsi モジュールの自動ロードを無効にすることができます: echo "install libiscsi /bin/true" >> /etc/modprobe.d/disable-libiscsi.conf

さらに、カーネルからのデータ漏洩につながる可能性がある、さらに危険性の低い 2021 つの脆弱性が iSCSI サブシステムで修正されました: CVE-27363-2021 (sysfs を介した iSCSI トランスポート記述子に関する情報の漏洩) と CVE-27364-XNUMX (からの読み取り)境界外のバッファ領域)。 これらの脆弱性を利用すると、必要な権限がなくても、ネットリンク ソケット経由で iSCSI サブシステムと通信することができます。 たとえば、権限のないユーザーが iSCSI に接続し、「セッション終了」コマンドを送信してセッションを終了することができます。

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

コメントを追加します