XML 外部实体
CVE-ID
CVE-2014-3630
日期
2014 年 10 月 7 日
2014 年 11 月 19 日更新:Play 2.2.6 发布,包含修复。
描述
在 Play 的 Java XML 处理中发现了一个漏洞。
攻击者可以使用 XML 外部实体从文件系统、内部网络读取文件,或对应用程序进行拒绝服务攻击。
影响
任何直接使用 Java play.libs.XML
API 从不受信任的来源解析 XML 的应用程序,或使用 Play 的 WS
客户端 API 解析来自不受信任服务器的 XML 响应的应用程序。
具体来说,此漏洞不影响接收包含 XML 主体的请求的 Java 操作。它也不影响 Play 中提供的任何 Scala XML 处理 API。
受影响的版本
- Play 2.0 - 2.3.4
解决方法
不要使用 play.libs.XML
API 解析 XML,而是使用按照 OWASP 描述配置的 DocumentBuilderFactory
此处。
不要使用 play.libs.ws.WSResponse.asXml
方法,而是使用 getBody
方法,并使用安全配置的 DocumentBuilderFactory
解析它。
修复
升级到 Play 2.3.5 或 Play 2.2.6。
CVSS 指标 (更多信息)
- 基础: 4.0
AV:N/AC:H/Au:N/C:P/I:N/A:P - 时间: 3.1
E:POC/RL:OF/RC:C - 环境: 1.0
CDP:ND/TD:L/CR:H/IR:H/AR:ND
环境得分假设为典型的互联网系统。您组织的实际环境得分可能会有所不同。
致谢
发现此漏洞的功劳归于 Red Hat 产品安全部的 David Jorm。