首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第57期->最新漏洞
期刊号: 类型: 关键词:
Java Web Start远程代码注入漏洞

日期:2005-04-04

发布日期:2005-03-21
更新日期:2005-03-25

受影响系统:
Sun J2SE 1.4.2_06
不受影响系统:
Sun J2SE 5.0
Sun J2SE 1.4.2_07
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 12847
CVE(CAN) ID: CAN-2005-0418

Java Web Start是用于简化在客户端部署Java应用程序的技术。

Java Web Start中的漏洞可能允许不可信任的应用程序提升权限,这样,应用程序就可以读写运行Java Web Start用户可以访问的本地文件,或执行该用户可访问的本地应用程序。

漏洞的起因是Web Start处理JNLP文件中所定义的Java系统属性的方法。JNLP文件中的<property>标记可用于定义Java系统属性。系统属性是储存当前工作环境属性的密钥值对。由于某些系统属性的性质,在JNLP文件中设置这些值是受限的。

一些系统属性被认为是安全的,如果在JNLP文件中定义了的话,就会通过-Dproperty=value命令行参数传送给Java可执行程序(javaw.exe)。但是,恶意用户可以利用这个功能向Java可执行程序注入额外的命令行参数。

例如,JNLP文件中可能包含以下属性标记:

  <property name="sun.java2d.noddraw" value="true HELLO" />

Web Start认为sun.java2d.noddraw属性是安全的,因此就会接受它。该应用程序的启动命令如下:

javaw.exe -Dsun.java2d.noddraw=true HELLO (other args) your.application

这就会生成Web Start错误消息,说无法找到主类,因为javaw.exe将HELLO而不是your.application解释为主类名。所导致的后果是Web Start无法使用属性参数的引用符号。

恶意的用户可以向Java虚拟机传送命令行参数,禁用Java的沙盒(sandbox)并入侵系统。通常受害用户访问了攻击者所创建的特制网页时会遭遇攻击。

<*来源:Jouko Pynnonen (jouko@iki.fi)
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=111118641401753&w=2
        http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-26-57740-1&type=0&nav=sec.sba
*>

建议:
--------------------------------------------------------------------------------
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 在web浏览器中禁用Java Web Start应用程序。

厂商补丁:

Sun
---
Sun已经为此发布了一个安全公告(Sun-Alert-57740)以及相应补丁:
Sun-Alert-57740:Security Vulnerability With Java Web Start
链接:http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-26-57740-1&type=0&nav=sec.sba

补丁下载:

J2SE 5.0 Update 2: http://java.sun.com/j2se/1.5.0/index.jsp 和 http://java.com
J2SE 1.4.2_07: http://java.sun.com/j2se/1.4.2/download.html

版权所有,未经许可,不得转载