FreeBSD: grub2-bhyve -- 複数の権限昇格(9d6a48a7-4dad-11ea-8a1d-7085c25400ea)

high Nessus プラグイン ID 133662

Language:

概要

リモートのFreeBSDホストに、セキュリティ関連の更新プログラムがありません。

説明

Reno Robertによる報告:

FreeBSDは、VMの実行に2プロセスモデルを使用します。非FreeBSDゲストを起動するために、変更されたgrub-emuが使用されます(grub-bhyve)。
Grub-bhyveは、ゲストのgrub.cfgファイルからコマンドを実行します。これは、grubがOSからの入力を信頼できないものとして処理するために書き込まれたことがないため、セキュリティの問題です。現在の設計では、grubとゲストOSは信頼境界を越えて機能します。これにより、grubがゲストからの信頼できない入力にさらされます。

grub-bhyve(emu)はSDLグラフィックスサポートなしで構築されているため、gfx攻撃を受ける領域が減少しますが、フォントローディングコードは依然としてアクセス可能です。ゲストは、rootとして実行されているgrub-bhyveによって解析される任意のフォントファイルを提供できます。

grub-core/font/font.cで、read_section_as_string()は、section->length + 1バイトのメモリを割り当てます。ただし、信頼できないsection->lengthは符号なしの32ビット数であり、結果はmalloc(0)にオーバーフローする可能性があります。これにより、ゲストVM grub2.cfgの「loadfont」コマンドで制御されたバッファオーバーフローが発生し、最終的にゲストからホストへの権限昇格が発生する可能性があります。

Reno Robert alsoによる報告:

GRUBは、選択したアドレスを読み書きするコマンドをサポートしています。grub-bhyveでは、これらのコマンドはgrub-bhyveプロセス内の任意の仮想アドレスに書き込む方法を提供します。これは、ホストが実行するゲストgrub2.cfgが最終的に権限を昇格する別の方法です。

これらの脆弱性は、grub2-bhyveの同じ機能の「loadfont」、「write_dword」、「read_dword」、「inl」、「outl」、およびその他のwidthバリアントを無効にすることで緩和されます。

grub-bhyveユーティリティをサンドボックス化し、エスケープされたゲストがCapsiumサンドボックスでnobody:nobodyになるような作業も進行中です。
これは0.40_8には含まれていません。

ソリューション

影響を受けるパッケージを更新してください。

参考資料

https://www.voidsecurity.in/

http://www.nessus.org/u?50702284

プラグインの詳細

深刻度: High

ID: 133662

ファイル名: freebsd_pkg_9d6a48a74dad11ea8a1d7085c25400ea.nasl

バージョン: 1.1

タイプ: local

公開日: 2020/2/13

更新日: 2020/2/13

サポートされているセンサー: Nessus

脆弱性情報

CPE: p-cpe:/a:freebsd:freebsd:grub2-bhyve, cpe:/o:freebsd:freebsd

必要な KB アイテム: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info

パッチ公開日: 2020/2/12

脆弱性公開日: 2019/12/9