公開日:2019/05/24 最終更新日:2019/06/13

JVNVU#93881163
Microsoft Windows タスクスケジューラにおける権限昇格の脆弱性

概要

Microsoft Windows には、タスクスケジューラの SetJobFileSecurityByName() 関数に起因する権限昇格の脆弱性が存在します。

影響を受けるシステム

  • Windows 10 32ビット版 および 64ビット版
  • Windows Server 2019
  • Windows Server 2016
  • Windows 8

詳細情報

タスクスケジューラは、決められた時間にタスクを実行するための、Microsoft Windows が持つコンポーネントです。schtasks.exe がタスクスケジューラのフロントエンドを担い、SYSTEM 権限で動作する Windows サービスがバックエンドとして機能します。タスクスケジューラが用いる schedsvc.dll というライブラリの中に tsched::SetJobFileSecurityByName() と呼ばれる関数がありますが、この関数により各 .job ファイルのアクセス権限が設定されます。

タスクスケジューラは SetSecurityInfo() 関数が呼ばれた時点で NT Authority\SYSTEM トークンを持ちます。そのため、タスクスケジューラは本来であれば SYSTEM あるいは他の高い権限を持つアカウントでなければコントロールできないはずのファイルに、フルアクセス権限を付与することができます。

Windows Vista より古い Windows では、%Windir%\tasks ディレクトリの .job ファイルが使用されます。このような古いバージョンの Windows に由来する schtasks.exe を新しいバージョンの Windows で動作させた場合、これらの .job ファイルは %Windir%\system32\tasks ディレクトリに移動されますが、その際に NT Authority\SYSTEM トークンを持つタスクスケジューラにより、すべてのアカウントに対するフルアクセス権限を持つハードリンクが作成されることになります。本脆弱性の発見者により公開された実証コードはこのようなタスクスケジューラの挙動を利用したものです。

本脆弱性について CERT/CC では公開された実証コードが、32 ビットおよび 64 ビットの Windows 10、Windows 2016 および Windows 2019 で動作することを確認しています。Windows 8 では、本実証コードは一般ユーザが書き込み権限をもつファイルに対してのみ有効であり、攻撃の有効性はごくわずかであると考えられます。Windows 7 においては本実証コードは有効ではありません。

想定される影響

一般ユーザ権限を持つ攻撃者により、保護されたファイルに対するフルアクセス権限を取得され、結果としてシステムを改ざんされる可能性があります。

対策方法

アップデートする
開発者が提供する情報をもとに、最新版にアップデートしてください。

参考情報

  1. CERT/CC Vulnerability Note VU#119704
    Microsoft Windows Task Scheduler SetJobFileSecurityByName privilege escalation vulnerability
  2. GitHub - SandboxEscaper/polarbearrepo
    polarbearrepo
  3. SetSecurityInfo function (aclapi.h) | Microsoft Docs
    SetSecurityInfo function
  4. Hard Links and Junctions - Windows applications | Microsoft Docs
    Hard Links and Junctions
  5. Zero Day Initiative - Exploiting the Windows Task Scheduler Through CVE-2019-1069
    Exploiting the Windows Task Scheduler Through CVE-2019-1069

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2019-1069
JVN iPedia

更新履歴

2019/06/13
[対策方法] の修正、[関連文書] の CVE および [ベンダ情報] の記載、[参考情報] へのリンクの追加をしました