CVE-2021-3560 の詳細
CVEの情報
説明:
It was found that polkit could be tricked into bypassing the credential checks for D-Bus requests, elevating the privileges of the requestor to the root user. This flaw could be used by an unprivileged local attacker to, for example, create a new local administrator. The highest threat from this vulnerability is to data confidentiality and integrity as well as system availability.
CVE更新日: 2022-02-16 19:15:08.450000
CVSSバージョン: 3.1
CVSSスコア: 7.8
KEVの情報
KEV更新日: 2023-05-12
EPSSの情報
EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。
EPSSスコア: 0.237080000
EPSS更新日: 2026-10-16 00:00:00
SSVCの情報
SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。
Exploitation: active
Technical Impact: high
Automatable: False
CVE-2021-3560に関する脆弱性の調査結果を以下に解説します。
1. 脆弱性の概要
CVE-2021-3560は、Polkit(以前はPolicyKitとして知られていた)における権限昇格の脆弱性です。Polkitは、Unixライクなオペレーティングシステムでシステム全体の権限を制御するためのシステムサービスであり、ユーザーセッションの非特権プロセスと特権システムコンテキスト間の仲介役として機能します。例えば、ソフトウェアのインストールやシステム設定の変更時に表示されるGUIのパスワード入力プロンプトは、Polkitが動作していることを示しています。
この脆弱性は、PolkitがD-Busリクエストを処理する方法における競合状態(Race Condition)に起因します。攻撃者は、特権的なユーザーアカウントを作成するためのD-Busメッセージを送信し、Polkitが完全に処理する前にそのメッセージを中断させることができます。この際、PolkitはD-Busデーモンに送信者の認証情報を問い合わせますが、メッセージがすでに存在しないためエラーが返されます。Polkitはこのエラーの処理を誤り、送信者がroot(UID 0)であると誤って判断し、特権操作を許可してしまいます。
1.1 影響 特権のないローカル攻撃者が、認証チェックをバイパスし、root権限を取得することが可能になります。例えば、攻撃者は新しいローカル管理者アカウントを作成できます。この脆弱性による最大の脅威は、データの機密性、完全性、およびシステムの可用性に対する影響です。
1.2 深刻度 CVSSv3スコアは7.8(High)と評価されています。脆弱性の種類は、競合状態(Race Condition)/TOCTOU(Time-of-check to time-of-use)に分類されます。
2. 対象となる環境
2.1 影響を受けるOSバージョン Polkitのバージョン0.113から0.118(両端を含む)が脆弱です。 Debianフォークでは、バージョン0.105-26以降が脆弱です(Debian 10 "buster"はバージョン0.105-25を使用しており、この問題に関して脆弱ではありません)。
具体的に影響を受けるLinuxディストリビューションは以下の通りです。 * Red Hat Enterprise Linux 8 * CentOS 8 * Fedora 21以降 * Ubuntu 20.04 LTSおよび21.04 * Debian unstable/testing ("Bullseye")
systemdを使用するLinuxディストリビューションはpolkitも使用しているため、影響を受ける可能性があります。2.2 影響を受ける設定 この脆弱性を悪用するには、主に
accountsserviceパッケージとgnome-control-centerパッケージがインストールされている必要があります。これらのパッケージは、Ubuntu Desktopのようなグラフィカルシステムでは通常デフォルトでインストールされていますが、非グラフィカルなRHELサーバーなどでは手動でインストールする必要がある場合があります。 また、D-Busメッセージを送信するためにdbus-sendコマンドが使用されますが、これはD-Busを使用するシステムには通常デフォルトでインストールされています。3. 影響を受けた時の兆候
この脆弱性が悪用された場合、特権のないローカル攻撃者がシステム上でroot権限を持つ新しい管理者アカウントを作成したり、rootシェルを取得したりすることが可能になります。直接的なシステム全体の兆候は報告されていませんが、例えば、知らないうちに管理者権限を持つユーザーアカウントが作成されている、または予期せぬシステム設定の変更や操作が行われているといった状況があれば、脆弱性の悪用を疑うべきです。攻撃は、D-Busメッセージを送信し、Polkitがリクエストを処理している途中で正確なタイミングでメッセージを終了させることでトリガーされます。
4. 推奨対策
4.1 本対策 * Polkitのアップデート: Polkitをバージョン0.119以降にアップグレードしてください。 * ディストリビューションのパッチ適用: ほとんどのLinuxディストリビューションは、2021年6月にこの脆弱性に対するパッチをリリースしています。お使いのLinuxシステムのパッケージを最新バージョンに更新することが不可欠です。 * セキュリティアドバイザリの確認: 各ディストリビューションのセキュリティアドバイザリを参照し、特定のパッケージバージョンと修正方法を確認してください。 * Red Hat: Red Hat Bug Report #1961710 * Debian: Debian 11 (Bullseye)向けにセキュリティアップデートが提供されています。 * Ubuntu: Ubuntu 20.04 LTS以降向けにアップデートが提供されています。 * SUSE: SUSE CVE-2021-3560 * 迅速なパッチ適用: この脆弱性は悪用が容易であるため、迅速なパッチ適用が極めて重要です。
4.2 暫定回避策(緩和策) Red Hatは、この問題に対する実用的な緩和策を特定できなかったと報告しており、可能な限り速やかなアップデートを推奨しています。他の情報源も、パッチ適用が最も重要であり、実用的な回避策は存在しないと述べています。したがって、本対策としてのアップデートを最優先で実施することが推奨されます。
その他
脆弱性の発見と公開: この脆弱性は、GitHub Security Labのセキュリティ研究者Kevin Backhouse氏によって2021年6月に公開されました。このバグはPolkitのバージョン0.113で導入されて以来、7年間もLinuxシステムに潜伏していました。
悪用プロセス: 攻撃は、標準的なコマンドラインツール(例:
dbus-send、kill、bash)を使用して実行されます。具体的な悪用手順は以下の通りです。 1. 特権を持つユーザーアカウントを作成するためのD-Busメッセージを送信します。 2. Polkitがメッセージを完全に処理する前に、特定の短い時間(例: 0.005秒後)でメッセージを中断(kill)します。 3. PolkitがD-Busデーモンに送信者情報を問い合わせる際、メッセージがすでに存在しないためエラーが返されます。 4. Polkitはこのエラー処理を誤り、要求がrootユーザー(UID 0)からのものであると誤認識し、ユーザー作成を許可します。 5. 作成されたユーザーは、管理者権限(sudoグループなど)を持つため、sudo -sなどのコマンドでroot権限に昇格できます。参照したサイト