Microsoft Internet Explorer 8におけるmshtml CGenericElementオブジェクトのメモリ利用不備により任意のコードが実行される脆弱性(CVE-2013-1347)に関する検証レポート

2013/05/07
2013/05/15更新
NTTデータ先端技術株式会社
辻 伸弘
小田切 秀曉
渡邊 尚道

【概要】

Microsoft Internet Explorer 8にリモートより任意のコードが実行される脆弱性が発見されました。
本脆弱性は、mshtml CGenericElementオブジェクトが解放済みメモリを使用するために発生します。
特別に細工されたWebページをInternet Explorerが処理する際に、CGenericElementオブジェクトを含むオブジェクトを作成します。これにより、このオブジェクトはポインタを削除せずに解放され、IEは不正なメモリアドレスを呼び出すよう強制されます。

本レポート作成(2013年5月7日)時点において、Microsoft社から脆弱性への対策、回避策などのアナウンスが公開されております。しかし、本脆弱性に対応した修正プログラムはリリースされておらず、システムへの影響が大きいことから、脆弱性の再現性について検証を行いました。


2013年5月15日追記:
Microsoft社より、この脆弱性を修正するプログラム(MS13-038)がリリースされました。


2013年5月10日追記:
Microsoft社より、本脆弱性の暫定対処プログラム「Microsoft Fix it 50992」がリリースされました。

Microsoft Internet Explorer 8におけるmshtml CGenericElementオブジェクトのメモリ利用不備により任意のコードが実行される脆弱性(CVE-2013-1347)に関する検証レポート

【影響を受けるとされているシステム】

影響を受ける可能性が報告されているのは次の通りです。
  • Windows XP Service Pack 3上のInternet Explorer 8
  • Windows XP Professional x64 Edition Service Pack 2上のInternet Explorer 8
  • Windows Server 2003 Service Pack 2上のInternet Explorer 8
  • Windows Server 2003 x64 Edition Service Pack 2上のInternet Explorer 8
  • Windows Vista Service Pack 2上のInternet Explorer 8
  • Windows Vista x64 Edition Service Pack 2上のInternet Explorer 8
  • Windows Server 2008 for 32-bit Systems Service Pack 2上のInternet Explorer 8
  • Windows Server 2008 for x64-based Systems Service Pack 2上のInternet Explorer 8
  • Windows 7 for 32-bit Systems Service Pack 1上のInternet Explorer 8
  • Windows 7 for x64-based Systems Service Pack 1上のInternet Explorer 8
  • Windows Server 2008 R2 for x64-based Systems Service Pack 1上のInternet Explorer 8
  • Windows Server 2008 R2 for Itanium-based Systems Service Pack 1上のInternet Explorer 8

【対策案】

本レポート作成(2013年5月7日)時点において、Microsoft社から本脆弱性に対応した修正プログラムはリリースされておりません。修正プログラムがリリースされ適用するまでは、一時的に使用するブラウザを変更していただくことで影響を低減させることが可能です。

また、Microsoft社からはInternet Explorer 8以外のバージョンでは本脆弱性の影響は受けないとのアナウンスがあります。Windows Vista、Windows 7、Windows Server 2008を使用している場合は、動作確認の上、Internet Explorer 9以降にアップデートいただくことを推奨いたします。

アップデートができない場合は、Microsoft社から回避策としてEMETを使用する、Internet Explorerのセキュリティ設定を変更する方法が案内されています。以下のURLにおいて具体的な回避策が記載されています。
なお、Windows XP、Windows Server 2003はInternet Explorer9以降にアップデートすることができません。

2013年5月15日追記:
Microsoft社より、この脆弱性を修正するプログラム(MS13-038)がリリースされました。
動作確認の上、本修正プログラムを適用していただくことを推奨いたします。

修正プログラムが適用された以下のシステムに対して、再度検証を行った結果、脆弱性の再現ができないことが確認されました。

  • Windows 7(日本語版)上のInternet Explorer 8(MS13-038適用済み)

2013年5月10日追記:
Microsoft社より、本脆弱性の暫定対処プログラム「Microsoft Fix it 50992」がリリースされました。

マイクロソフト セキュリティ アドバイザリ (2847140)
Internet Explorer の脆弱性により、リモートでコードが実行される
https://docs.microsoft.com/en-us/security-updates/SecurityAdvisories/2013/2847140

【参考サイト】

CVE-2013-1347
http://cve.mitre.org/cgi-bin/cvename.cgi?name=%20CVE-2013-1347

マイクロソフト セキュリティ アドバイザリ (2847140)
Internet Explorer の脆弱性により、リモートでコードが実行される
https://docs.microsoft.com/en-us/security-updates/SecurityAdvisories/2013/2847140


2013年5月15日追記:
MS13-038: Internet Explorer のセキュリティ更新プログラム
https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2013/ms13-038


2013年5月10日追記:
Microsoft Security Advisory: Vulnerability in Internet Explorer 8 could allow remote code execution
http://support.microsoft.com/kb/2847140

【検証イメージ】

【検証ターゲットシステム】

  • Windows 7 上のInternet Explorer 8

【検証概要】

ターゲットシステム上で、攻撃者が作成したWebページを閲覧させることで、攻撃コードを実行させます。それによって、ターゲットシステムにおいて任意のコードを実行させます。
ターゲットシステムは、攻撃者が用意したホストに制御が誘導されます。
今回の検証に用いたコードは、ターゲットシステム上から特定のサーバ、ポートへコネクションを確立させるよう誘導し、システムの制御を奪取するものです。
これにより、リモートからターゲットシステムが操作可能となります。

* 誘導先のシステムは MacOS X 10.8.3 です。

【検証結果】

下図は、攻撃後の誘導先のシステム画面です。
下図は、誘導先のコンピュータ(MacOS X)の画面です。黄線で囲まれている部分は、誘導先のコンピュータのホスト情報です。一方、赤線で囲まれている部分は、ターゲットシステム(Windows 7)において、コマンドを実行した結果が表示されています。
これにより、ターゲットシステムの制御の奪取に成功したと言えます。

PDF版のダウンロードはこちらから PDF版

※ 各規格名、会社名、団体名は、各社の商標または登録商標です。


 

Microsoft Internet Explorer 8におけるmshtml CGenericElementオブジェクトのメモリ利用不備により任意のコードが実行される脆弱性(CVE-2013-1347)に関する検証レポート