公開日:2010/11/29 最終更新日:2011/03/28

JVNVU#529673
Microsoft Windows の RtlQueryRegistryValues() 関数におけるレジストリデータ検証不備の脆弱性
緊急

概要

Microsoft Windows の RtlQueryRegistryValues() 関数には、読み込んだレジストリデータを正しく検証しない脆弱性が存在します。

なお、本脆弱性を使用した攻撃コードが公開されています。

影響を受けるシステム

  • Microsoft Windows

詳細情報

Microsoft Windows は、ユーザ定義の Unicode 文字 (外字) を使用するための end-user defined characters (EUDC) をサポートしています。Windows カーネル (win32k.sys) の graphics device interface (GDI) は、 EUDC レジストリキーに含まれるフォント情報を読み込みます。具体的には、GreEnableEudc() が RtlQueryRegistryValues() を使用して、レジストリキー HKCU\EUDC\(codepage)\SystemDefaultEUDCFont の値を読み込みます。RtlQueryRegistryValues() は、REG_SZ (ストリング) の値を想定しており、レジストリキー SystemDefaultEUDCFont が指定するバッファに書き込みます。

デフォルト設定において、権限のないユーザが EUDC レジストリキーを変更することが可能です。また、RtlQueryRegistryValues() は SystemDefaultEUDCFont から読み込まれたデータの検証を行いません。

SystemDefaultEUDCFont のデータを変更することで、攻撃者はカーネルメモリを上書きすることが可能です。

想定される影響

権限のないユーザによって SYSTEM の権限で任意のコードを実行される可能性があります。

対策方法

アップデートする
2011年2月9日にセキュリティ更新プログラムが公開されました。マイクロソフトが提供する情報 (MS11-011) をもとにアップデートしてください。

ワークアラウンドを実施する
以下の回避策を適用することで、本脆弱性の影響を軽減することが可能です。

  • EUDC レジストリキーへのアクセスを制限する

参考情報

  1. US-CERT - Vulnerability Note VU#529673
    Microsoft Windows RtlQueryRegistryValues() does not adequately validate registry data

JPCERT/CCからの補足情報

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

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2010-4398
CVE-2011-0045
JVN iPedia JVNDB-2010-002533

更新履歴

2010/12/01
概要情報を更新しました。
2011/02/17
対策方法を更新し、ベンダ情報および関連文書にリンクを追加しました。
2011/03/28
関連文書に JVN iPedia へのリンクを追加しました。