近日,Oracle 发布了 Java SE 7u11 以修复安全漏洞 CVE-2013-0422 ,该漏洞在过去几天内得到了广泛的使用,可以在允许运行 Java 的浏览器上远程安装与执行代码。这利用了 applet(通常没必要配置就可以在浏览器中运行 Java),并且可以通过 Java 7 运行时的特性与反射来跳出安全沙箱。
虽然这是今年遇到的第一个与安全相关的修复,但 Java 7 此前就曾因安全漏洞成为了人们瞩目的焦点。在去年10 月, CVE-2012-5083 与 CVE-2012-1531 都会导致不受信任的代码在 2D 框架中运行。反馈的结果同样是使用了反射 API。
但 0day 漏洞在诸如 Metasploit 与 Blackhole 的渗透工具中得到了广泛的应用。这导致美国国土安全局向用户发出警告,要求禁用掉浏览器中的Java ,即便你更新到了Java7u11 也要这样,从而避免未来可能会出现的安全问题。因此,Oracle 的反应速度很快,虽然他们此前曾表示只会按照季度来发布安全更新。
Apple 是首批远程禁用掉浏览器中 Java 的公司之一,他向 OSX 反恶意软件描述文件中发布了一个更新,位于 /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist。这增加了一个最小版本以允许 Java applet 能够运行在浏览器中:
<dict> <key>LastModification</key> <string>Thu, 10 Jan 2013 22:48:02 GMT</string> <key>PlugInBlacklist</key> <dict><key>10</key><dict> <key>com.oracle.java.JavaAppletPlugin</key> <dict><key>MinimumPlugInBundleVersion</key> <string>1.7.10.19</string></dict> </dict> </dict> </dict>
为了防止未来的漏洞,Java 更新还将未签名的 Java applet 的运行仅限制在“高”安全上下文中。如果启用了 Java applet 插件,那么当发现了未签名的 applet 时就会弹出一个警告对话框。
要想知道浏览器是否可以运行 Java,请进入到 JavaTester 网站。要想在浏览器中禁用 Java applet,请按照 Oracle 的文档 How to disable Java in the browser 进行。运行在浏览器之外的 Java 应用并不受此次安全问题的影响,因为这种 Java 应用的运行无需安全管理器。
评论