Oracle Java SE の HotSpot VM に起因する任意コード実行の脆弱性(Scan Tech Report)
Oracle Java SE の HotSpot VM には、Java バイトコードを取り扱う際にフィールド型を誤って処理してしまう脆弱性が存在します。
脆弱性と脅威
エクスプロイト
Oracle Java SE の HotSpot VM には、Java バイトコードを取り扱う際にフィールド型を誤って処理してしまう脆弱性が存在します。
ユーザが悪質な Java アプレットを使用する Web ページを閲覧した場合、リモートの第三者によってシステム上で不正な操作が実行される可能性があります。
既にこの脆弱性を悪用する攻撃およびエクスプロイトキットが確認されており、攻撃を受ける可能性が高いことが考えられるため、影響を受けるバージョンのJava SE を利用するユーザは可能な限り以下に記載する対策を実施することを推奨します。
2.深刻度(CVSS)
10.0
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2012-1723&vector=%28AV%3AN/AC%3AL/Au%3AN/C%3AC/I%3AC/A%3AC%29
3.影響を受けるソフトウェア
Java SE (SDK and JRE) 1.4.2_37 以前
Java SE (JDK and JRE) 5 Update 35 以前
Java SE (JDK and JRE) 6 Update 32 以前
Java SE (JDK and JRE) 7 Update 4 以前
※1 影響を受けるバージョンの Java SE が含まれる Mac OS や Linux、UNIX においても、この脆弱性の影響を受ける可能性があります。
4.解説
HotSpot VM は、バイトコードの実行環境を提供する Java 仮想マシン (JVM) のエンジンであり、OpenJDK の基盤ともなっています。
Oracle Java SE の HotSpot VM には、Java バイトコードを取り扱う際に、静的変数とインスタンス変数を適切に区別せず誤って処理してしまう不備があります。
このため、GETFIELD/PUTFIELD/GETSTATIC/PUTSTATIC 命令を介して当該変数が繰り返し操作された場合に、不適切な変数を参照してしまうことによって、不正な Java アプリケーションをサンドボックスによるセキュリティ制限を適用することなく実行してしまう脆弱性が存在します。
この脆弱性を利用することで、リモートの攻撃者は Web ブラウザを実行するユーザの権限で任意のコード実行が可能となります。
なお、この脆弱性は、Java ベースのクライアントアプリケーションのみが影響を受け、信頼できない Java アプリケーションを介してのみ悪用される可能性があると、Oracle が報告しています。
また、複数の脆弱性を悪用するエクスプロイトコードをパッケージ化したエクスプロイトキットの 1 つである BlackHole Exploit Kit に、この脆弱性を悪用するコードが組み込まれていることが報告されています。
JPCERT/CC Alert JPCERT-AT-2012-0021
https://www.jpcert.or.jp/at/2012/at120021.txt
Krebs on Security New Java Exploit to Debut in BlackHole Exploit Kits
http://krebsonsecurity.com/tag/cve-2012-1723/
ESET Threat Blog Java the Hutt meets CVE-2012-1723: the Evil Empire strikes back
http://blog.eset.com/2012/07/10/java-the-hutt-meets-cve-2012-1723-the-evil-empire-strikes-back
threatpost Black Hole Exploit Kit Targeting Java CVE-2012-1723 Flaw
http://threatpost.com/en_us/blogs/black-hole-exploit-kit-targeting-java-cve-2012-1723-flaw-071612
5.対策
以下の Web サイトを参考に、下記の Java SE (SDK and JRE/JDK and JRE) バージョンを入手しアップデートすることで、この脆弱性を解消することが可能です。
* Java SE (SDK and JRE) 1.4.2_38 以降 ※2
* Java SE (JDK and JRE) 5 Update 36 以降 ※2
* Java SE (JDK and JRE) 6 Update 33 以降
* Java SE (JDK and JRE) 7 Update 5 以降
Oracle Java SE Critical Patch Update Advisory - June 2012:
http://www.oracle.com/technetwork/topics/security/javacpujun2012-1515912.html
また、この脆弱性を解消する Java SE バージョンでは、他多数の脆弱性についても解消しています。詳細につきましては、上記 Oracle より提供されるセキュリティアドバイザリを参照下さい。
※2 Java SE 1.4.x/5.x は、既に Oracle によるサポートが終了しているため、解消バージョンの無償提供が終了しています。
6.ソースコード
(Web非公開)
(執筆:株式会社ラック サイバー脅威分析センター)
※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。
Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《吉澤 亨史( Kouji Yoshizawa )》