领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多Spring Security 在处理安全约束时不考虑 URL 路径参数。 通过添加带有特殊编码的 URL 路径参数,攻击者可能能够绕过安全约束。此问题的根本原因是 Servlet 规范中处理路径参数的方式不够明确(见下文)。一些 Servlet 容器在 getPathInfo() 返回的值中包含路径参数,而另一些则不包含。 Spring Security 使用 getPathInfo() 返回的值作为将请求映射到安全约束的过程的一部分。 在这种特定攻击中,路径参数中使用的不同字符编码允许绕过受保护的 Spring MVC 静态资源 URL。
受影响版本的用户应应用以下缓解措施
作为一般预防措施,建议用户分离公共和私有资源。 例如,分离静态资源并将它们映射到 /resources/public/** 和 /resources/private/** 比拥有一个公共根目录并混合公共和私有资源内容要好。
该问题由 NTT Comware、NTT DATA Corporation 和 NTT 的 Macchinetta Framework Development Team 发现,并负责任地报告给 Pivotal。
2018-01-29:发布初始漏洞报告
要报告 Spring 产品组合中的项目的安全漏洞,请参阅安全策略