Microsoftは7月1日(米国時間)、「Windows Print Spooler Remote Code Execution Vulnerability」において、Windows 10において発見された印刷スプーラにおける任意コード実行の脆弱性に対する回避策を公開した。この脆弱性はCVE-2021-34527として追跡されているもので、通称「PrintNightmare」とも呼ばれている。既にこの脆弱性を利用した実際の攻撃が確認されていることから、修正パッチが公開されるまでの間、指定された回避策を実施することが推奨される。

  • Windows Print Spooler Remote Code Execution Vulnerability - Security Update Guide

    Windows Print Spooler Remote Code Execution Vulnerability - Security Update Guide

CVE-2021-34527は、Windowsの印刷スプーラーサービスが特権ファイルを不適切に操作することにより、システム件権限で任意のコードが実行可能になるという脆弱性。Microsoftでは当初、類似した別の脆弱性であるCVE-2021-1675の修正パッチをリリースしたことで、この脆弱性に対処済みのステータスを割り当てて情報を公開した。そしてその後に、CVE-2021-1675とは異なる脆弱性だったことを認識して、新たにCVE-2021-34527の追跡番号を割り当てた。

CVE-2021-1675は2021年6月8日にリリースされた更新プログラムで修正されているが、CVE-2021-34527に対する修正パッチは7月5日時点でまだリリースされていない。代わりに、暫定的な対策として次の回避策を提示している。

  • 印刷スプーラーサービスが実行されているかどうかを確認する
  • オプション1: 印刷スプーラーサービスを無効にする
  • オプション2: グループポリシーを使用してリモート印刷のインバウンドを無効にする

印刷スプーラーサービスが実行されているかどうかは、PowerShellでドメイン管理者として、次のコマンドを実行することで確認できる。

Get-Service -Name Spooler

印刷スプーラーサービスが実行されている場合、次のコマンドを実行すれば無効化することができる。

Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled

ただし、印刷スプーラーサービスを無効化した場合、ローカルとリモートの両方で印刷機能が利用できなくなる。

グループポリシーでインバウンドリモート印刷を無効化するには、印刷ポリシーの設定で「印刷スプーラーにクライアント接続の受け入れを許可する」の項目を無効にした上で、印刷スプーラーサービスを再起動すればよい。これによって対象のWindowsはプリントサーバとして機能しなくなるが、直接接続されたデバイスへのローカル印刷は引き続き利用できる。

CVE-2021-34527の深刻度は、CVSS v3のベーススコアで8.8となっており、これは5段階中2番目に高い深刻度「重要」に分類される。なお、前述のようにCVE-2021-34527はCVE-2021-1675とは別の脆弱性であり、2021年6月8日の更新プログラム以前から存在するものだという。したがって、CVE-2021-1675や他の脆弱性に対処するため、2021年6月8日の更新プログラムは早急に適用することが推奨されている。