Apache Axis2文档类型声明处理多个安全漏洞

发布日期:2010-06-13
更新日期:2010-06-22

受影响系统:
IBM Websphere Application Server 7.0
IBM Websphere Application Server 6.1
Apache Group Axis2 1.5.1
Apache Group Axis2 1.4.1
不受影响系统:
IBM Websphere Application Server 7.0.0.13
IBM Websphere Application Server 6.1.0.33
Apache Group Axis2 1.6
Apache Group Axis2 1.5.2
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 40976
CVE ID: CVE-2010-1632

Axis2是一个Web服务的核心支援引擎。

根据SOAP 1.1规范的规定,SOAP消息总不能包含有文档类型声明(DTD)。在Axis2中,是通过StAXSOAPModelBuilder类来实现这个限制的。这个方法存在两个问题:

1 仅适用于SOAP绑定,而支持纯XML消息的HTTP绑定仍允许请求消息中存在DTD。

2 在处理带有DTD的文档时,StAXSOAPModelBuilder仅在从StAX解析器接收到DTD事件后才会报告错误,而这时StAX解析器可能已经处理或部分处理了DTD。

这说明Axis2受基于DTD的XML攻击的影响。有两种类型的攻击:

* DTD可能引用其他的文档,也就是内部子集中所声明的DTD或外部实体。如果对XML解析器配置了默认的实体解析器(在本文所述情况下为Axis2),就会允许攻击者要求解析器访问任意文件。由于可能将URL用作系统ID,这包括仅可在服务器所部署的网络中访问的远程资源。

* 尽管XML不允许递归实体定义,但允许嵌套的实体定义。如果文档中包含有深度嵌套的实体定义,解析该文档就会在实体展开期间导致非常高的CPU和内存消耗。

<*来源:Jan Freitag
 
  链接:
        ?uid=swg21433581
        https://svn.apache.org/repos/asf/axis/axis2/java/core/security/CVE-2010-1632.pdf
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

<!DOCTYPE getQuote [
<!ENTITY file SYSTEM "/etc/hosts">
]>
<getQuote xmlns="">
<request>
<symbol xmlns="&file;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwspsf.html