JPCERTコーディネーションセンター(JPCERT/CC: Japan Computer Emergency Response Team Coordination Center)は8月17日(、「JVNVU#96414899: Microsoft Windowsの印刷スプーラーにリモートコード実行の脆弱性」において、Windowsの印刷スプーラーサービスにリモートコード実行の脆弱性が報告されていると伝えた。この脆弱性の追跡番号はCVE-2021-36958で、「PrintNightmare」として知られるCVE-2021-34527の脆弱性とは異なるもの。Microsoftは修正パッチを開発中とのことだが、8月17日時点ではまだリリースされていない。

脆弱性に関する詳細はMicrosoftによる次のサポートページにまとめられている。影響を受けるバージョンについては現在調査中とのことだ。

  • CVE-2021-36958: Windows Print Spooler Remote Code Execution Vulnerability

    CVE-2021-36958: Windows Print Spooler Remote Code Execution Vulnerability

Windowsでは、「ポイント アンド プリント」と呼ばれる機能によって、管理者権限を持たないユーザーでもプリンタードライバーをSYSTEM権限でインストールできる。インストールの際はドライバーが信頼できる提供元によって署名されていることを検証する。しかし、ドライバーはデバイスの使用に関連付けられているキュー固有のファイルを指定することができ、このファイルは署名要件の対象にはなっていない。さらに、これらのファイルを使用してプリンタードライバーのインストール中にシステム上の署名検証済みファイルを上書きできてしまう。この仕組みを悪用すると、攻撃者はリモートのプリンターにファイル内のコードを自動実行するように設定でき、結果としてローカルでの権限昇格が可能になるという。

Microsoftからは、脆弱性の影響を軽減する方法として次のワークアラウンドを実施することが提案されている。

  • プリントスプーラーサービスを停止して無効にする

プリントスプーラーサービスを無効にすると、ローカルとリモートの両方で印刷ができなくなる。その他の軽減策としては、CERT/CCから次のワークアラウンドを実施することが提案されている。

  • 外部ネットワークへのSMB通信をブロックする
  • 管理者以外のユーザーがポイント アンド プリントを利用してプリンターをインストールする際に、使用可能なサーバを制限する
  • SYSTEMアカウントがC:WindowsSystem32spool\driversディレクトリの内容を変更できないように制限する