跳到主要内容

超危

Oracle JRE MBean远程代码执行漏洞

2013-01-10 21:23:00 公开 ,2026-02-18 15:18:39 更新

  • 关键漏洞
  • CISA KEV
  • APT漏洞
  • 公开PoC
  • 远程
  • 无需认证
CWEs:
CWE-264 CWE-284 (Improper Access Control)
SSVC:
可利用状态:已被积极利用攻击自动化:是技术影响评估:全部 2025-02-11 03:51:35

风险信息

CVSS v2 向量
AV:N/AC:L/Au:N/C:C/I:C/A:C
CVSS v2 风险值
10
CVSS v3.1 向量
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3.1 风险值
9.8

详细信息

漏洞类型
权限许可和访问控制问题
漏洞描述
Oracle Java Runtime Environment(JRE)是美国甲骨文(Oracle)公司的一个Java运行时环境,是运行Java程序所必须的环境的集合。 更新11之前的Oracle Java 7中存在多个漏洞,远程攻击者可通过以下方式执行任意代码:(1)使用JmxMBeanServer类中的公共getMBeanInstantiator方法获取对私有MBeanInstantiator对象的引用,然后使用findClass方法检索任意类引用,(2)由于sun.reflect.Reflection.getCallerClass方法无法跳过与新反射API相关的帧,因此以绕过java.lang.invoke.MethodHandles.Lookup.checkSecurityManager方法进行的安全检查的方式使用递归反射API,该漏洞与CVE-2012-4681和CVE-2012-3174不同。
修复建议
1、应用更新Oracle Security Alert CVE-2013-0422指出,Java 7 Update 11解决了这一问题(CVE-2013-0422)和一个同样严重但明显的漏洞(CVE-2012-3174)。但实际上,只有反射漏洞已修复,JMX MBean漏洞仍然存在。Java 7u11将默认Java安全设置设置为高,以便在运行未签名或自签名Java小程序之前提示用户。 除非绝对有必要在web浏览器中运行Java,否则请按如下所述禁用它,即使在更新到7u11之后也是如此。这将有助于缓解将来可能发现的其他Java漏洞。IcedTea版本2.1.4、2.2.4和2.3.4也解决了这个问题。http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-January/021413.html 2、在web浏览器中禁用Java从Java 7 Update 10开始,可以通过Java控制面板小程序禁用web浏览器中的Java内容。有关更多详细信息,请参阅Java文档。http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/client-security.html#disable注意:由于Java安装程序中可能存在错误,某些Windows系统上可能缺少Java控制面板小程序。在这种情况下,可以通过手动查找并执行javacpl.exe来启动Java控制面板小程序。此文件可能位于C:\Program Files\Java\jre7\bin或C:\Program Files(x86)\Java\jre7\bin中。 还请注意,在Windows上遇到过这样的情况:如果Java在web浏览器中被如上所述禁用,然后重新启用,它将崩溃。根据所使用的浏览器,在Windows 7上执行相同的步骤将导致未签名的Java小程序在Internet Explorer中执行而不进行提示,不管Java控制面板小程序中的安全级别滑块配置为使用什么。已经在Windows7和Vista上通过Internet Explorer确认了这种行为。重新安装Java似乎可以纠正这两种情况。 希望在禁用在浏览器中启用Java内容功能的情况下部署Java 7 Update 10或更高版本的系统管理员可以使用WEB_Java=0命令行选项调用Java安装程序。Java文档中提供了更多详细信息。 微软发布了一个修复程序,在InternetExplorerWeb浏览器中禁用Java。http://blogs.technet.com/b/srd/archive/2013/05/29/java-when-you-cannot-let-go.aspx 3、限制对Java小程序的访问无法在web浏览器中禁用Java的网络管理员可以通过限制对Java小程序的访问来帮助缓解此漏洞和其他Java漏洞。例如,这可以通过使用代理服务器规则来实现。阻止对.jar和.class文件的web请求或将其列为白名单有助于防止不受信任的源使用Java。过滤包含Java用户代理头的请求也可能有效。例如,这种技术可以在本地intranet上需要Java的环境中使用。可以将代理配置为允许本地Java请求,但当目标是internet上的站点时会阻止它们。

参考链接