CVE-2018-1271: Windows 上 Spring MVC 的目录遍历漏洞
描述
Spring Framework 版本 5.0 到 5.0.4、4.3 到 4.3.14 以及更早不受支持的版本允许应用程序配置 Spring MVC 来提供静态资源(例如 CSS、JS、图片)。当静态资源在 Windows 系统上从文件系统提供(而不是从 classpath 或 ServletContext)时,恶意用户可以通过发送使用精心构造的 URL 的请求来发起目录遍历攻击。
受影响的 Spring 产品和版本
- Spring Framework 5.0 到 5.0.4
- Spring Framework 4.3 到 4.3.14
- 更早不受支持的版本也受到影响
缓解措施
受影响版本的用户应采取以下缓解措施
- 5.0.x 用户应升级到 5.0.5
- 4.3.x 用户应升级到 4.3.15
- 更早版本应升级到受支持的分支
无需其他缓解步骤。
另请注意,此攻击不适用于满足以下条件的应用程序:
- 不使用 Windows。
- 不从文件系统提供文件,即资源位置不使用“file:”前缀。
- 使用针对 CVE-2018-1199 打过补丁版本的 Spring Security。
致谢
此问题由 DEVCORE 的 Orange Tsai (@orange_8361) 发现并负责任地报告。
参考资料
- 示例 Spring MVC 配置,用于启用静态资源服务。 ...