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

high Nessus プラグイン ID 150314

Language:

概要

リモートの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.5

タイプ: local

公開日: 2021/6/7

更新日: 2023/12/27

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

リスク情報

VPR

リスクファクター: Critical

スコア: 9.4

CVSS v2

リスクファクター: High

基本値: 7.2

現状値: 6.3

ベクトル: CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C

CVSS スコアのソース: CVE-2021-3560

CVSS v3

リスクファクター: High

基本値: 7.8

現状値: 7.5

ベクトル: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

現状ベクトル: CVSS:3.0/E:H/RL:O/RC:C

脆弱性情報

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

CISA の既知の悪用された脆弱性の期限日: 2023/6/2

エクスプロイト可能

Metasploit (Polkit D-Bus Authentication Bypass)

参照情報

CVE: CVE-2021-3560