3.影響を受けるソフトウェア※1 セキュリティパッチが適用されていない場合、以下の OS が当該脆弱性の対 象となる可能性があります。
- Windows Server 2003 - Windows Vista - Windows Server 2008 - Windows 7 - Windows Server 2008 R2 - WIndows 8 - Windows 8.1 - Windows Server 2012 - Windows Server 2012 R2 - Windows RT - Windows RT 8.1
4.解説 Microsoft Windows のカーネルドライバに存在する不備により、権限昇格されてしまう脆弱性が報告されています。
Microsoft Windows には起動モードとして、主にアプリケーション動作時の起動状態であるユーザモードと、主にドライバなどの動作時に利用されるカーネルモードが存在します。Microsoft Windows ではアプリケーションのウインドウを立ち上げる際に、まずユーザモードで Window クラスを呼び出しウインドウの作成を開始します。次にカーネルモードで Window オブジェクトの作成を行い、CopyImage 関数を利用するためにユーザモードに移行します。その後にカーネルモードから、ユーザモードに Window クラスを用いたウインドウの作成指示を送信し、起動するアプリケーションの種類によってカーネルモードまたはユーザモードでウインドウを作成します。今回取り上げる脆弱性はユーザモードの機能である CopyImage 関数を利用するために、カーネルモードからユーザモードに移行する過程に存在します。
CopyImage 関数は画像を作成し、作成したイメージに特定のイメージの属性をコピーする関数です。ユーザモードでは関数のアドレスを PEB (Process Enviroment Block) というものを用いて識別していますが、これはユーザモードのアプリケーションから利用できるようになっているため、CopyImage 関数を別の関数に置き換えることが可能となります。攻撃者はこの欠陥を利用してCopyImage 関数の代わりに SetWindowLongPtr API を呼び出します。パラメータに DefWindowProc という値が設定されている場合、Window オブジェクトはServer Side Window Proc というフラグを立てます。このフラグを立てることにより、ウインドウはメッセージを受け取った際にカーネルモードでプロセスを実行されてしまうため、攻撃者はこの脆弱性を利用して SYSTEM 権限で任意のコードを実行することが可能となります。
5.対策 Microsoft Windows セキュリティパッチの適用により脆弱性に対応することが可能です。