Windows の印刷スプーラの脆弱性「PrintNightmare」とは (CVE-2021-34527)
2021.7.1 公開
2021.7.2 更新
2021.7.6 更新
2021.7.7 更新
2021.7.9 更新
概要
「PrintNightmare」とは、中国のセキュリティ企業 Sangfor に所属する Zhiniang Peng 氏と Xuefeng Li 氏によって公開された、Windows の印刷スプーラサービスに存在する脆弱性です。 この脆弱性によって、標的ホストへ RPC リクエストを送信可能なリモートの攻撃者が、標的とは別のホストに配置した悪意のある DLL を標的ホストへダウンロードし、SYSTEM 権限で実行する可能性があります。 なお Active Directory ドメイン環境では、通常のドメインユーザの資格を持つ攻撃者に印刷スプーラサービスを有効にしているドメインコントローラの SYSTEM 権限を奪われる可能性があります。 またマイクロソフト社は「悪用の事実を確認済み」としています。
以下は、SIDfm RA 脆弱性管理ツールでの当該脆弱性情報の画面を表示したものです。
原因
マイクロソフト社はこの脆弱性の原因を、Windows の印刷スプーラサービスにおける特権での不適切なファイル操作によるものとしています。 Zhiniang Peng 氏らは、当該サービスにおけるチェックが適切でないため、RpcAddPrinterDriverEx 関数の呼び出しに必要な SeLoadDriverPrivilege 権限のチェックを迂回できることが根本的な原因であると、指摘しています。
影響を受ける環境
影響の有無の判定の際に便利なフローチャートが VU#383432 の Impact に示されていますので、是非ご参照ください。
ドメインコントローラ
印刷スプーラサービスを有効にしている場合に影響します。
ドメインコントローラはデフォルト設定で「Authenticated Users」(認証されている全てのユーザ) を「Pre-Windows 2000 Compatible Access」グループにネストしているため、全てのドメインユーザがこの脆弱性を悪用できるようになっている可能性が高いです。
(2021年7月7日 更新)
ドメインコントローラでないクライアントやサーバ
サポートされている Windows の全てのバージョンに影響します。
「ポイントアンドプリント」を有効としている場合に、「Print Operators」など
ガイダンス
の「緩和策」に列挙されているグループをネストしている「Authenticated Users」(認証されている全てのユーザ) から悪用される可能性があります。
(2021年7月7日 更新)
CVE-2021-1675 との関連性は?
当初 Zhiniang Peng 氏らはこの問題を、同じ印刷スプーラサービスの問題である CVE-2021-1675 (マイクロソフト社の2021年6月のセキュリティ更新プログラムで修正済み) と認識していたようです。 しかしながら Zhiniang Peng 氏らの概念実証コードは、CVE-2021-1675 のセキュリティ更新プログラムを適用した最新の Windows Server でも動作することが、複数のセキュリティ研究者によるテストで確かめられています。 (※ マイクロソフト社の公式の見解により、この脆弱性は CVE-2021-1675 とは似ているものの別の脆弱性であることが明らかにされました。 CVE-2021-34527 が付与されています。)
対策
修正プログラム
2021年7月7日、一部のバージョンを除く Windows 向けに修正プログラムが提供されました。 残りのバージョン向けの修正プログラムも2021年7月8日に提供されました。
修正プログラムをインストールすることによって、非特権 (non-administrators) ユーザが印刷サーバにインストールできるのは署名済みプリンタドライバに制限されることになります。
非特権 (non-administrators) ユーザは署名済みプリンタドライバも未署名プリンタドライバも印刷サーバにインストールできなくなります。(2021年7月9日 更新)
「ポイントアンドプリントの制限」グループポリシを設定していない場合、署名済みか未署名かに関わらず、プリンタドライバを印刷サーバにインストールできるのはデフォルトで Administrator 権限を持つユーザに限られます。
<重要>
修正プログラムの適用後も設定によっては脆弱性の影響を受けます。
次の2つの条件を満たしている場合は、この脆弱性の影響を受けません。(逆にいえば次の条件を満たしていなければ脆弱性の影響を受けます)
-
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint
の-
NoWarningNoElevationOnInstall
が 0 (DWORD) あるいは未定義 (デフォルト) -
UpdatePromptSettings
が 0 (DWORD) あるいは未定義 (デフォルト)
-
- 「ポイントアンドプリントの制限」グループポリシが設定されていない
条件を満たさず脆弱性の影響を受ける場合は、「ポイントアンドプリントの制限」グループポリシを編集し、ドライバのインストールや更新時に警告および昇格時のプロンプトを表示するようにしてください。
別の方法として、レジストリ RestrictDriverInstallationToAdministrators
に 1 を設定し、ドライバのインストールを Administrator 権限を持つユーザに制限することもできます。
設定方法の詳細は
KB5005010
を参照してください。
回避策
マイクロソフト社は、印刷スプーラサービスを無効化するか、インバウンドのリモート印刷を無効化するようにアナウンスしています。(ただし、プリントサーバとしては機能しなくなります。) 回避策の詳細についてはマイクロソフト社の ガイダンス を参照してください。
緩和策
影響を軽減するための緩和策として、Administrators グループや Domain Controllers グループなどに所属するユーザを全て削除するか必要最小限に留めることを提示しています。
緩和策の詳細についてはマイクロソフト社の
ガイダンス
を参照してください。
(2021年7月7日 更新)
更新履歴
-
2021年07月01日
- 新規公開
-
2021年07月02日
- マイクロソフト社のアナウンスの公表に伴い、内容を更新しました。
-
2021年07月06日
- マイクロソフト社のアナウンスの更新に伴い、緩和策を追加しました。
- 「SIDfm RA 脆弱性管理ツールでの当該脆弱性情報の画面」を更新しました。
- 「影響を受ける環境」を追加しました。
-
2021年07月07日
- マイクロソフト社による修正プログラムの提供に伴い、「修正プログラム」を追加しました。
- マイクロソフト社による FAQ の更新に伴い、「緩和策」を削除しました。また「影響を受ける環境」を更新しました。
- タイトルから「ゼロデイ」を削除しました。
-
2021年07月09日
- マイクロソフト社による修正プログラムの提供や FAQ の更新に伴い、「修正プログラム」を更新しました。
参照
- Cybersecurity and Infrastructure Security Agency, "PrintNightmare, Critical Windows Print Spooler Vulnerability," Cybersecurity and Infrastructure Security Agency, June 30, 2021.
- CERT Coordination Center, "Microsoft Windows Print Spooler RpcAddPrinterDriverEx() function allows for RCE," CERT/CC Vulnerability Notes Database, June 30, 2021.
- afwu, "PrintNightmare (CVE-2021-1675): Remote code execution in Windows Spooler Service," Github afwu's repositories, June 29, 2021.
- Ionut Ilascu, "Public Windows PrintNightmare 0-day exploit allows domain takeover," BleepingComputer, June 30, 2021.
- "Windows Print Spooler Remote Code Execution Vulnerability CVE-2021-34527," Microsoft Security Update Guide, July 1, 2021.
- 「Microsoft Windows 製品の Windows Print Spooler の脆弱性対策について(CVE-2021-34527)」, 情報処理推進機構, 2021年07月05日
- 「JVNVU#96262037 Microsoft Windowsの印刷スプーラーにリモートコード実行の脆弱性」 Japan Vulnerability Notes, 2021年07月05日
- 「JPCERT-AT-2021-0029 Windowsの印刷スプーラーの脆弱性(CVE-2021-34527)に関する注意喚起」 JPCERT/CC, 2021年07月05日
- "KB5005010: Restricting installation of new printer drivers after applying the July 6, 2021 updates," Microsoft Support, July, 2021.