コマンドライン引数の解析による権限の昇格 - sudo - (CVE-2021-3156)

Public Date: January 26, 2021, 11:20
更新 February 4, 2021, 16:49 - Chinese, Simplified 英語 French Korean
Resolved 状態
Important Impact

Insights vulnerability analysis

View exposed systems



Red Hat は、コマンドライン引数が sudo によって処理される方法に不具合が存在することを認識しています。ローカルの攻撃者によってメモリーが破損され、クラッシュや特権の昇格につながる可能性があります。sudo パッケージは、デフォルトで Red Hat Enterprise Linux にインストールされ、ユーザーは他のユーザー (最も一般的に root) としてコマンドを実行できます。この問題には CVE-2021-3156 が割り当てられ、Red Hat Product Security チームは、この問題の影響度を「重要な影響」と評価しました。この不具合の影響を受ける場合は、新しいバージョンの sudo にアップグレードするようにしてください。 

以下のバージョンの Red Hat 製品が影響を受けます。

  • Red Hat Enterprise Linux 6

  • Red Hat Enterprise Linux 7

  • Red Hat Enterprise Linux 8

Red Hat のコンテナーは、本問題の影響を直接受けませんが、そのセキュリティーはベースイメージの整合性および更新に依存しています (RHEL パッケージの更新など)。Red Hat は、最新バージョンのコンテナーイメージを使用することを推奨します。Red Hat Container Catalog の一部である Container Health Index を使用すると、常に以下の Red Hat コンテナーのセキュリティー状態を確認できます。

  • Red Hat OpenShift Container Platform 4 (RHEL CoreOS)

  • Red Hat Virtualization (RHV) 4.3 および 4.4

  • rook-ceph-operator-container-4.6

  • cephcsi-container-4.6

現在ご使用のシステムにこの不具合による脆弱性が存在するかどうかを判断するには、以下の「診断」セクションを参照してください。

sudo によってコマンドライン引数が解析される方法に、ヒープベースのバッファーオーバーフローが見つかりました。この不具合は、認証されていない (攻撃者はユーザーのパスワードを知る必要はありません) すべてのローカルユーザー (ユーザーとシステムユーザー、および sudoers 設定済みユーザーと未設定ユーザー) による悪用が可能です。この不具合の悪用に成功すると、特権が昇格される可能性があります。

Red Hat Product セキュリティーチームは、修正が適用された sudo パッケージがリリースされ次第、更新することを強く推奨します。すぐに更新できない場合は、以下の systemtap を使用した暫定的かつ部分的な軽減策を適用することが推奨されます。


1.必要な systemtap パッケージと依存関係をインストールします。例を以下に示します。 

# yum install systemtap yum-utils kernel-devel-"$(uname -r)"

RHEL 7 の場合は、以下を使用して kernel debuginfo をインストールします。

# debuginfo-install -y kernel-"$(uname -r)" 

RHEL 8 の場合は、以下を使用して sudo debuginfo をインストールします。

# debuginfo-install sudo

2.以下の systemtap スクリプトを作成します (ファイル名を sudoedit-block.stap とします)。

probe process("/usr/bin/sudo").function("main")  {

        command = cmdline_args(0,0,"");

        if (strpos(command, "edit") >= 0) {

                raise(9);

        }

}

3.以下のコマンドを使用して、スクリプトをインストールします (root を使用します)。

# nohup stap -g sudoedit-block.stap &

(このコマンドによって systemtap スクリプトの PID 番号が出力されるはずです)

このスクリプトによって、脆弱な sudoedit コマンドが動作しなくなります。sudo コマンドは引き続き通常どおりに動作します。

上記の変更は、再起動後は維持されないため、再起動後は毎回この変更を適用する必要があります。


4.修正が適用された新しいパッケージがインストールされたら、systemtap プロセスに kill コマンドを使用して systemtap スクリプトを削除できます。  たとえば、以下を使用できます。

# kill -s SIGTERM 7590  (7590 は systemtap プロセスの PID です)

警告: シンボリックリンクを削除して sudoedit を無効にしないでください。これは十分な軽減策ではありません。

影響のあるバージョンの Red Hat 製品をご使用のお客様は、エラータが入手可能になり次第、該当製品を更新することが強く推奨されます。

製品

パッケージ

アドバイザリー/更新

Red Hat Enterprise Linux 8 

sudo

RHSA-2021:0218

Red Hat Enterprise Linux 8.2.0 Extended Update Support [2]

sudo 

RHSA-2021:0219

Red Hat Enterprise Linux 8.1.0 Extended Update Support [2]

sudo

RHSA-2021:0220

Red Hat Enterprise Linux 7

sudo

RHSA-2021:0221

Red Hat Enterprise Linux 7.7 Extended Update Support [2]

sudo

RHSA-2021:0222

Red Hat Enterprise Linux 7.6 Extended Update Support [2]

sudo

RHSA-2021:0223

Red Hat Enterprise Linux 7.4 Update Services for SAP Solutions, Advanced Update Support [3], [4]

sudo

RHSA-2021:0224

Red Hat Enterprise Linux 7.3 Advanced Update Support [4]

sudo

RHSA-2021:0225

Red Hat Enterprise Linux 7.2 Advanced Update Support [4]

sudo

RHSA-2021:0226

Red Hat Enterprise Linux 6 Extended Lifecycle Support [5]

sudo

RHSA-2021:0227


[1] 更新の公開後にアドバイザリー/更新のリンクが追加されます。

[2] Red Hat Enterprise Linux Extended Update Support サブスクリプションとは何ですか?

[3] Advanced mission critical Update Support (AUS) とは何ですか?

[4] Red Hat Enterprise Linux for SAP Solutions サブスクリプションとは何ですか?

[5] このパッチを取得するには、有効な 延長ライフサイクルサポート (ELS) サブスクリプションが必要です。  お持ちのアカウントに有効な ELS サブスクリプションがない場合は、Red Hat の営業部門または営業担当者に お問い合わせ ください。

以下の製品およびコンテナーは、別の製品から影響を受けるパッケージを使用します。  Red Hat のコンテナーは、本問題の影響を直接受けませんが、そのセキュリティーはベースイメージの整合性および更新に依存しています (RHEL パッケージの更新など)。Red Hat は、最新バージョンのコンテナーイメージを使用することを推奨します。Red Hat Container Catalog の一部である Container Health Index を使用すると、常に Red Hat コンテナーのセキュリティー状態を確認できます。

製品またはコンテナー

修正が依存する製品

注記

cephcsi-container-4.6

Red Hat Enterprise Linux 8

sudo-0:1.8.29-6.el8 を使用

rook-ceph-operator-container-4.6

Red Hat Enterprise Linux 8

sudo-0:1.8.29-6.el8 を使用

Red Hat OpenShift Container Platform 4.6

Red Hat CoreOS

sudo-0:1.8.29-6.el8 を使用

Red Hat Virtualization 4.3

Red Hat Enterprise Linux 7

sudo-1.8.23-10.el7 を使用

Red Hat Virtualization 4.4

Red Hat Enterprise Linux 8

sudo-1.8.29-6.el8 を使用

脆弱なバージョンの sudo がシステムに存在するため、Red Hat OpenShift Dedicated クラスターは影響を受けます。しかし、sudo コマンドの使用は、すでに専用クラスター上の cluster-admin 権限を持つユーザーに制限されているため、影響は非常に小さくなります。

以下の脆弱性検出スクリプトを使用すると、現在ご使用のシステムにこの不具合による脆弱性が存在するかどうかを判断できます。正規のスクリプトであることを確認する場合は、GPG 分離署名 もダウンロードします。検証にGPG 署名を使用する方法 と手順は、カスタマーポータルで確認できます。

現在のバージョン: 1.0

Red Hat は、本問題を報告した Qualys Security に感謝します。

GPG を使用して Product Security の署名済みコンテンツを検証する方法

Comments