FreeBSD:java 7.x -- 安全管理器绕过 (d5e0317e-5e45-11e2-a113-c48508086173)

medium Nessus 插件 ID 63589

简介

远程 FreeBSD 主机缺少一个或多个与安全有关的更新。

描述

US CERT 报告:

Java 7 Update 10 及较早版本的 Java 7 包含一个漏洞,可允许未经认证的远程攻击者在有漏洞的系统中执行任意代码。

Java JRE 插件提供自己的安全管理器。通常,Web 小程序运行由浏览器或 Java Web Start 插件提供的安全管理器。Oracle 的文档声明:“如果已安装安全管理器,此方法首先以 RuntimePermission('setSecurityManager') 权限调用安全管理器的 checkPermission 方法,以确保能够安全地替换现有安全管理器。这可导致抛出 SecurityException。”

通过利用 Java Management Extensions (JMX) MBean 组件中的漏洞,非特权 Java 代码可访问受限的类。通过将该漏洞与涉及 MethodHandle 类的反射 API 和 invokeWithArguments 方法的另一个漏洞结合利用,不受信任的 Java 小程序可通过调用 setSecurityManager() 函数来升级其权限,从而允许完整权限而无需代码签名。
Oracle Java 7 update 10 及较早版本的 Java 7 受到影响。随 Java 7 一起引入了 invokeWithArguments 方法,因此 Java 6 不受影响。

在通常环境中会攻击此漏洞,据报告此漏洞已包含在漏洞利用工具包中。此漏洞的利用代码也已公开可用。

Immunity Inc. 的 Esteban Guillardoy 另外明确了递归反射利用技术:

真正的问题在于本机 sun.reflect.Reflection.getCallerClass 方法。

我们可在反射源代码中看到以下信息:

返回堆栈上 realFramesToSkip 方法框架的类(基于零),忽略与 java.lang.reflect.Method.invoke() 及其实现相关的框架。

因此,此处发生的情况是忘记跳过与新反射 API 相关的框架,仅将旧反射 API 考虑在内。

此漏洞利用不仅影响 Java 小程序,而且影响依赖于沙盒化可执行代码的 Java 安全管理器的所有软件:恶意代码可完全禁用安全管理器。

对于运行启用了 Java 插件的本机 Web 浏览器的用户,变通方案用于删除 java/icedtea-web 端口并重新启动所有浏览器实例。

对于运行 Linux Web 浏览器风格的用户,变通方案用于禁用浏览器中的 Java 插件或将 linux-sun-* 程序包升级到不易受攻击的版本。

不建议使用 appletviewer 运行不受信任的小程序,因为这可能导致在有漏洞的 JDK/JRE 版本中执行恶意代码。

解决方案

更新受影响的数据包。

另见

http://www.nessus.org/u?eaf95a3d

http://www.nessus.org/u?db189fad

http://www.nessus.org/u?c297fbb3

插件详情

严重性: Medium

ID: 63589

文件名: freebsd_pkg_d5e0317e5e4511e2a113c48508086173.nasl

版本: 1.10

类型: local

发布时间: 2013/1/17

最近更新时间: 2021/1/6

风险信息

VPR

风险因素: Medium

分数: 4.2

CVSS v2

风险因素: Medium

基本分数: 5

矢量: AV:N/AC:L/Au:N/C:N/I:P/A:N

漏洞信息

CPE: p-cpe:/a:freebsd:freebsd:linux-sun-jdk, p-cpe:/a:freebsd:freebsd:linux-sun-jre, p-cpe:/a:freebsd:freebsd:openjdk7, cpe:/o:freebsd:freebsd

必需的 KB 项: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info

补丁发布日期: 2013/1/14

漏洞发布日期: 2013/1/10

参考资料信息

CVE: CVE-2013-0433

CERT: 625617