Oracle Java SE 7 の JMX クラスの実装に起因する任意コード実行の脆弱性(Scan Tech Report)
Oracle Java SE 7 の JMX クラスにサンドボックスによるセキュリティ制限を回避して、任意のコードが実行可能な脆弱性が報告されました。
脆弱性と脅威
エクスプロイト
Oracle Java SE 7 の JMX クラスにサンドボックスによるセキュリティ制限を回避して、任意のコードが実行可能な脆弱性が報告されました。
ユーザが悪質な Java アプレットを使用する Web ページを閲覧した場合、リモートの第三者によってシステム上で不正な操作が実行される可能性があります。
この脆弱性 (CVE-2013-0431, Issues 52) は、2013/1/18 に Security Explorations 社が発見し、2013/2/1 の Oracle 社より提供された定例アップデート (February 2013 CPU for Java SE) で解消した問題の内の 1 つになります。
脆弱性を悪用された場合の影響度が高く、今後、当該脆弱性を悪用するマルウェア等が出現する可能性も考えられるため、影響を受けるバージョンの Java SE 7 を利用するユーザは可能な限り以下に記載する対策を実施することを推奨します。
2.深刻度(CVSS)
5.0
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2013-0431&vector=%28AV%3AN/AC%3AL/Au%3AN/C%3AN/I%3AP/A%3AN%29
3.影響を受けるソフトウェア ※
Java SE (JDK and JRE) 7 Update 11 以前
※1 影響を受けるバージョンの Java SE 7 パッケージが含まれる Linux や UNIX においても、この脆弱性の影響を受ける可能性があります。
4.解説
Oracle Java SE 7 には、com.sun.jmx.mbeanserver.Introspector クラスにおいて、リフレクション機能を提供する java.lang.reflect.Method クラスの invoke メソッドに対するセキュリティ制限の実装に不備があります。
このため、java.lang.Class クラスの getDeclaredMethod メソッドを呼び出すことで、本来アクセスすることができない制限付きクラスを参照可能な問題が存在します。
また、Java SE 7 Update 11 での Scan Tech Report Vol.514 で紹介した CVE-2013-0422 の脆弱性に対する修正が不完全であったため、com.sun.jmx.mbeanserver.MBeanInstantiator クラスの findClass メソッドを介して、依然として本来アクセスすることができない制限付きクラスを参照可能な問題も存在します。
これら 2 つの問題を組み合わせて悪用することで、リモートの攻撃者は、サンドボックスによるセキュリティ制限を実装する SecurityManager を無効にし、Java SE を実行するユーザの権限で任意のコード実行が可能となります。
なお、この脆弱性は、Java ベースのクライアントアプリケーションのみが影響を受け、信頼できない Java アプリケーションを介してのみ悪用される可能性があると、Oracle が報告しています。
また、既にこの脆弱性を悪用するエクスプロイトキット (BlackHole Exploit Kit, Cool Exploit Kit など) が複数確認されています。
CVE-2013-0431 (java 1.7 update 11) ermerging in Exploit Kits
http://malware.dontneedcoffee.com/2013/02/cve-2013-0431-java-17-update-11.html
About the new java 0 day vulnerability (CVE-2013-0422)
http://security-obscurity.blogspot.jp/2013/01/about-new-java-0-day-vulnerability.html
Blackhole Exploit Kit による攻撃、問題のJavaの脆弱性を利用
http://blog.trendmicro.co.jp/archives/6840
5.対策
以下の Web サイトより、Java SE (JDK and JRE) 7 Update 13 以降※2 を入手しアップデートすることで、この脆弱性を解消することが可能です。
Java のダウンロード
http://java.com/ja/download/
あるいは、以下の Web サイトを参考に、Java コントロールパネルからブラウザにおける Java プラグインを無効※3 にする、またはシステムで利用する各ブラウザの Java プラグインを無効にすることで、この脆弱性を回避することが可能です。
WebブラウザでJavaを無効にするにはどうすればよいですか。
http://www.java.com/ja/download/help/disable_browser.xml
※2 現時点 (2013/3/7) においては、Java SE 7 Update 17 が最新バージョンとなります。当該バージョンでは、この脆弱性とは異なる、新たな 0-Day エクスプロイトに悪用された脆弱性 (CVE-2013-1493) を修正しています。
※3 Java SE 7 Update 10 以降でのみ実装されている機能となります。
6.ソースコード
(Web非公開)
(執筆:株式会社ラック サイバー脅威分析センター)
※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。
Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《吉澤 亨史( Kouji Yoshizawa )》