CVE-2018-11039:Spring Framework 的跨站点跟踪 (XST)
描述
Spring Framework(5.0.x 版本(低于 5.0.7),4.3.x 版本(低于 4.3.18)以及较旧的、不受支持的版本)允许 Web 应用程序使用 Spring MVC 中的 HiddenHttpMethodFilter 将 HTTP 请求方法更改为任何 HTTP 方法(包括 TRACE)。如果应用程序存在预先存在的 XSS 漏洞,则恶意用户(或攻击者)可以使用此过滤器将其升级为 XST(跨站点跟踪)攻击。
受影响的 Spring 产品和版本
- Spring Framework 5.0 至 5.0.6
- Spring Framework 4.3 至 4.3.17
- 较旧的、不受支持的版本也受影响
缓解措施
受影响版本的使用者应应用以下缓解措施
- 5.0.x 用户应升级到 5.0.7
- 4.3.x 用户应升级到 4.3.18
- 较旧的版本应升级到受支持的分支
无需其他缓解措施。
此攻击适用于以下应用程序
- 使用 HiddenHttpMethodFilter(在 Spring Boot 中默认启用)
- 允许应用程序服务器处理 HTTP TRACE 请求
此攻击无法直接利用,因为攻击者必须通过 HTTP POST 发出跨域请求,这被同源策略禁止。这就是为什么 Web 应用程序本身中预先存在的 XSS(跨站点脚本)漏洞对于升级到 XST 是必要的。
致谢
此问题由 Ocado Technology 的 Mariusz Łuciów 发现并报告。
历史记录
2018-06-14:发布初始漏洞报告。