FreeBSD:polkit -- polkit_system_bus_name_get_creds_syncを使用したローカルの権限昇格(36a35d83-c560-11eb-84ab-e0d55e2a8bf9)

high Nessus プラグイン ID 150314

言語:

New! プラグインの深刻度には CVSS v3 が適用されるようになりました。

プラグインの深刻度は、デフォルトで CVSS v3 を使って計算されるように更新されました。プラグインに CVSS v3 スコアがない場合には、CVSS v2 を使って深刻度が計算されます。深刻度の表示設定は、[設定]のドロップダウンで切り替えができます。

概要

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

説明

Cedric Buissartによる報告:

関数polkit_system_bus_name_get_creds_syncが、アクションをリクエストしているプロセスのuidおよびpidを取得するために使用されています。これは、リクエストするプロセスの一意のバス名(通常は「:1.96」など)をdbus-daemonに送信することによって行われます。これらの一意の名前は、dbus-daemonによって割り当てられ、管理され、偽造できないため、これはリクエストを行っているプロセスの権限をチェックする良い方法です。

この脆弱性は、polkit_system_bus_name_get_creds_syncの呼び出しが始まる直前にリクエストプロセスがdbus-daemonから切断されるときに発生します。このシナリオでは、一意のバス名が無効になるため、dbus-daemonはエラー応答を返します。このエラーケースは、エラーパラメーターの値を設定することで、polkit_system_bus_name_get_creds_syncで処理されますが、依然としてFALSEではなく、TRUEを返します。この動作は、polkit_system_bus_name_get_creds_syncのすべての呼び出し元が、エラーが設定されているかどうかを慎重にチェックする必要があることを意味します。呼び出し関数がエラーのチェックを忘れると、リクエストプロセスのuidが0(AsyncGetBusNameCredsData構造体がゼロで初期化されるため)であると見なされます。言い換えれば、rootプロセスからアクションがリクエストされたと見なし、それを許可します。

ソリューション

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

関連情報

https://seclists.org/oss-sec/2021/q2/180

https://gitlab.freedesktop.org/polkit/polkit/-/commit/a04d13a

http://www.nessus.org/u?3d4c0e75

プラグインの詳細

深刻度: High

ID: 150314

ファイル名: freebsd_pkg_36a35d83c56011eb84abe0d55e2a8bf9.nasl

バージョン: 1.2

タイプ: local

公開日: 2021/6/7

更新日: 2021/7/12

依存関係: ssh_get_info.nasl

リスク情報

VPR

リスクファクター: Critical

スコア: 9.5

脆弱性情報

CPE: p-cpe:/a:freebsd:freebsd:polkit, cpe:/o:freebsd:freebsd

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

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2021/6/4

脆弱性公開日: 2021/6/3

エクスプロイト可能

Metasploit (Polkit D-Bus Authentication Bypass)

参照情報

CVE: CVE-2021-3560