CVE-2013-4152 Spring Framework 中的 XML 外部实体 (XXE) 注入

| 2013 年 8 月 22 日 | CVE-2013-4152

描述

当使用 JAXB 解组器时,Spring OXM 包装器没有公开任何用于禁用实体解析的属性。有四种可能的源实现传递给解组器:DOMSource、StAXSource、SAXSource 和 StreamSource。

对于 DOMSource,XML 已经由用户代码解析,并且该代码负责防止 XXE。

对于 StAXSource,XMLStreamReader 已经由用户代码创建,并且该代码负责防止 XXE。

对于 SAXSource 和 StreamSource 实例,Spring 默认处理外部实体,从而产生此漏洞。

通过默认禁用外部实体处理并添加一个选项来解决此问题,以便那些需要在处理来自受信任来源的 XML 时使用此功能的用户启用它。

受影响的 Spring 产品和版本

  • 3.0.0 到 3.2.3
  • 4.0.0.M1
  • 更早的不受支持的版本可能会受到影响

缓解措施

受影响版本的用户应应用以下缓解措施

  • 3.x 的用户应升级到 3.2.4 或更高版本
  • 4.x 的用户应升级到 4.0.0.M2 或更高版本

鸣谢

这些问题由 HP Enterprise Security Team 的 Alvaro Munoz 发现。

参考

历史

2013-Aug-22:发布初始漏洞报告。

  • 2014-Jun-19:更新以删除 Spring MVC 方面,这些方面已拆分为 CVE-2013-7315

领先一步

VMware 提供培训和认证来加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部