Spring Framework表达式语言JSP属性处理信息泄露漏洞

漏洞起因
设计错误
危险等级

 
影响系统
SpringSource Spring Framework 3.0.5
 SpringSource Spring Framework 3.0.3
 SpringSource Spring Framework 3.0.2
 SpringSource Spring Framework 3.0.1
 SpringSource Spring Framework 3.0
 SpringSource Spring Framework 2.5.7
 SpringSource Spring Framework 2.5.6
 SpringSource Spring Framework 2.5.6
 SpringSource Spring Framework 2.5.5
 SpringSource Spring Framework 2.5.5
 SpringSource Spring Framework 2.5.4
 SpringSource Spring Framework 2.5.4
 SpringSource Spring Framework 2.5.3
 SpringSource Spring Framework 2.5.3
 SpringSource Spring Framework 2.5.2
 SpringSource Spring Framework 2.5.2
 SpringSource Spring Framework 2.5.1
 SpringSource Spring Framework 2.5.1
 SpringSource Spring Framework 2.5
 SpringSource Spring Framework 2.5
 SpringSource Spring Framework 2.5.7 SR1 (Subscript
 SpringSource Spring Framework 2.5.6.SEC02
 
 
不受影响系统
SpringSource Spring Framework 3.0.6
SpringSource Spring Framework 2.5.7.SR02
SpringSource Spring Framework 2.5.6.SEC03
 
危害
远程攻击者可以利用漏洞获得敏感信息。
 
攻击所需条件
攻击者必须访问Spring Framework。
 
漏洞信息
Spring Framework是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架, 以Apache许可证形式发布,也有.NET平台上的移植版本。
在JSP 2.0之前,表达式语言不被支持。要在基于早期JSP规范的WEB应用程序中使用EL,一些Spring MVC标签提供对Servlet/JSP容易的EL独立支持。默认启用对EL求值。当使用支持EL的容器时,EL中的属性会被求值两次,一次容器另一次为tab。这可导致不可期的敏感信息泄露。
 
测试方法
向包含如下代码的页面:
<spring:message code="${param[‘message’]}" text=""/>
提交如下形式的请求:
http:///vulnerable.com/foo?message=${applicationScope}
会输出包含classpath,本地工作目录,会话ID等服务器信息。
 
厂商解决方案
用户可参考如下供应商提供的安全公告获得补丁信息:
http://www.springsource.com/security/cve-2011-2730
 
漏洞提供者
Stefano Di Paola, Minded Security and Arshan Dabirsiaghi, Aspect Security.

发表评论?

0 条评论。

发表评论