Intelの「Meltdown」CPU脆弱性を修正するMicrosoftの初期パッチが、「Windows 7」でさらに大きな問題を引き起こすことが指摘された。この問題により、権限を持たないアプリがカーネルメモリを読み取れるようになってしまうという。
Microsoftが1月と2月に提供したパッチは、保護されているメモリ領域のパスワードを読み取られてしまう恐れあるMeltdownバグを修正したが、セキュリティ研究者のUlf Frisk氏は、それらのパッチがより深刻なカーネルバグを引き起こすと指摘している。このバグが原因で、あらゆるプロセスがカーネルメモリのあらゆる場所で読み取りと書き込みを行えるようになってしまったという。
Frisk氏によると、この脆弱性は1月または2月のパッチを適用した64ビット版「Windows 7」と「Windows Server 2008 R2」に影響を及ぼすという。
Frisk氏によると、バグを含むこれら2つのパッチはPage Map Level4(PML4)に誤ったビットを設定しており、あらゆるユーザーモードのアプリケーションがカーネルのページテーブルにアクセスすることを可能にしているという。
IntelのCPUはこれらのページテーブルを使って、プロセスの仮想メモリを物理メモリに変換する。正しく設定されたビットは通常、これらのテーブルへのアクセス権限をカーネルにのみ付与する。
「簡単に言うと、PML4の自己参照エントリーで、ユーザー/スーパーバイザー許可ビットがユーザーに設定されていた。このため、あらゆるプロセスのユーザーモードで実行されるコードがページテーブルにアクセスできる。通常、ページテーブルへのアクセス権限はカーネル自体にのみ付与される」(同氏)
さらに、Frisk氏によると、PML4ページテーブルはWindows 7の固定メモリアドレスに存在するため、このバグを利用して、すべての物理メモリにアクセスするのは「拍子抜けするほど簡単」だという。このバグが原因で、ユーザーモードのアプリケーションでもWindows 7のページテーブルにアクセスできてしまうため、攻撃者がそのページテーブルを見つけることも可能になる。
Frisk氏はWindows 7とWindows 2008 R2のすべての管理者とユーザーに対して、Microsoftの3月のパッチをインストールして、この問題を解決するようアドバイスした。「Windows 10」と「Windows 8.1」は影響を受けない。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。