领先一步
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 框架开发团队发现,并负责任地报告给了 Pivotal。
2018-01-29:发布初步漏洞报告
要报告 Spring 组合项目中存在的安全漏洞,请参阅安全策略