领先一步
VMware 提供培训和认证,助您加速进步。
了解更多Spring Framework 的 5.0.x 系列(5.0.7 之前的版本)、4.3.x 系列(4.3.18 之前的版本)以及更早的不再受支持的版本,允许 Web 应用程序通过 JSONP(JSON with Padding)实现跨域请求。具体来说,AbstractJsonpResponseBodyAdvice 用于 REST 控制器,而 MappingJackson2JsonView 用于浏览器请求。在 Spring Framework 和 Spring Boot 中,这两者都不是默认启用的。然而,当应用程序中配置了 MappingJackson2JsonView 时,通过 "jsonp" 和 "callback" 这两个 JSONP 参数,JSONP 支持即可自动启用,从而实现跨域请求。
允许来自不受信任来源的跨域请求可能会将用户信息暴露给第三方浏览器脚本。
此漏洞适用于以下情况的应用程序:
受影响版本的用户应采取以下缓解措施
如果应用程序确实需要 JSONP 支持,在升级后需要显式配置 MappingJacksonJsonView 的 jsonpParameterNames 属性。建议应用程序切换到使用 CORS 来实现跨域请求,而不是 JSONP。Spring Framework 中的 JSONP 支持在 5.0.7 和 4.3.18 版本中已被弃用,并将在 5.1 版本中移除。
此问题由 Meyyalagan Chandrasekaran 发现并报告。
2018-06-14:发布初始漏洞报告。
要报告 Spring 组合项目中存在的安全漏洞,请参阅安全策略