FreeBSD:py-yaml -- 任意のコマンド実行に対して悪用可能なFullLoader(aae8fecf-888e-11ea-9714-08002718de91)

critical Nessus プラグイン ID 136021

Language:

概要

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

説明

Riccardo Schirone氏(https://github.com/ret2libc)による報告:

FullLoaderでは、construct_python_object_applyによって実装されるpython/object/newコンストラクターが、set_python_instance_stateメソッドを通じて、逆シリアル化されたインスタンスの状態設定をサポートします。
状態を設定した後、インスタンスでいくつかの操作を実行して初期化を完了しますが、攻撃者が、FullLoaderによって任意のコードが実行されるようにインスタンスの状態を設定することが可能です。

このパッチは、set_python_instance_stateがarbitrarプロパティを設定するのを防ぐことで、FullLoaderでこのような攻撃をブロックしようとします。これは、extendメソッド(construct_python_object_applyにより呼び出される)およびすべての特殊メソッド(__set__,
__setitem__など)を含むブラックリストを実装します。

逆シリアル化されたオブジェクトの状態で特別な属性を設定する必要があるユーザーは、依然としてUnsafeLoaderを使用して設定を行うことができます。ただし、信頼できない入力では使用しないでください。さらに、FullLoaderをサブクラス化し、state_blacklist_regexpを再定義して必要な追加属性を含め、サブクラス化されたローダーをyaml.loadに渡すことができます。

ソリューション

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

参考資料

https://bugzilla.redhat.com/show_bug.cgi?id=1807367

https://github.com/yaml/pyyaml/pull/386

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245937

http://www.nessus.org/u?9931df75

プラグインの詳細

深刻度: Critical

ID: 136021

ファイル名: freebsd_pkg_aae8fecf888e11ea971408002718de91.nasl

バージョン: 1.4

タイプ: local

公開日: 2020/4/28

更新日: 2024/3/14

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Critical

基本値: 10

現状値: 7.4

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

CVSS スコアのソース: CVE-2020-1747

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 8.5

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

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

脆弱性情報

CPE: p-cpe:/a:freebsd:freebsd:py27-yaml, p-cpe:/a:freebsd:freebsd:py35-yaml, p-cpe:/a:freebsd:freebsd:py36-yaml, p-cpe:/a:freebsd:freebsd:py37-yaml, p-cpe:/a:freebsd:freebsd:py38-yaml, cpe:/o:freebsd:freebsd

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

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2020/4/27

脆弱性公開日: 2020/3/2

参照情報

CVE: CVE-2020-1747

IAVA: 2021-A-0463