涉及程序: Microsoft JVM 1.1 描述: Microsoft JVM 的多个安全缺陷 详细: Microsoft JVM 是一款使用在Win32操作环境中的Java虚拟机系统,Microsoft JVM 包含在大部分Windows版本中,也可包含在大部分Internet Explorer版本中。Microsoft JVM有的时候也可以通过独立下载获得。 Microsoft JVM 最近被发现存在多个安全缺陷: 1. Microsoft JVM URI 解析缺陷 Microsoft JVM解析URI内容时缺少检查,远程攻击者可以利用这个漏洞欺骗目标用户,窃取目标用户基于认证的Cookie信息。 如果URI中包含冒号用于指定端口号,Java代码处理时就会发生错误。如使用户把地址 80@www.bank.com/bankapplet.html\" target=\"_blank\">http://www.evilsite.com:80@www.bank.com/bankapplet.html 重定向可导致浏览器从 www.bank.com 上装载Web页面,但是由于设计错误,Java引擎会从错误的站点 www.evilsite.com 中装载applet代码。如果 www.bank.com 上的applet标记包含MAYSCRIPT关键词(通过netscape.javascript.*)就可以使攻击者窃取www.bank.com相关的Cookie信息。这个攻击需要有Java applet存在于 www.bank.com 站点上的WEB页中来利用。 2. Microsoft JVM CAB 文件装载缺陷 Microsoft JVM使用的类 com.ms.vm.loader.CabCracker包含public模式允许CAB存档从硬盘装载,远程攻击者利用这个漏洞可以构建任意applet可以获取本地.CAB存档。 CabCracker类的load()模式用于从硬盘中装载.CAB存档,这个模式一般情况下会进行安全检查和对用户进行询问证实,如果测试成功就调用load0()。但是load0()模式声明为public,因此任意applet可以直接调用它而绕过安全检查。需要注意的是在任何情况下,不可信的applet是不能访问本地文件系统。 Microsoft没有对此问题作出评论。 3. Microsoft JVM 文件路径信息泄露缺陷 Microsoft JVM由于不充分的访问验证,远程攻击者利用这个漏洞可以构建任意applet获取当前Internet Explorer路径。 由于缺少充分的安全检查,任意Java applet可以通过new File(\".\").getAbsolutePath()操作获得当前Internet Explore目录,在多用户操作系统中此目录也会包含用户名信息。获得此敏感信息结合其他漏洞可以对系统进一步进行攻击。 受影响系统: Microsoft JVM 1.1 攻击方法: 暂无有效攻击代码 解决方案: 目前厂商还没有提供补丁或者升级程序,建议用户随时关注厂商站点: http://www.microsoft.com/technet/security/ 临时解决方案: * 暂时禁用JAVA: 在IE中,选择工具-->Internet选项-->安全-->自定义级别-->Microsoft VM--Java权限设置为禁用。 * Sun JVM plug-in 不受此缺陷影响,用户可从下面地址获得: http://java.sun.com