漏洞描述
在Spring Framework,5.2.x之前的版本5.2.x,5.1.13之前的版本5.1.x和5.0.16之前的版本5.0.x中,应用程序在受到攻击时容易受到反射文件下载(RFD)攻击,通过响应中设置“ Content-Disposition” 响应header头来造成攻击,其中filename属性来自用户提供的输入。
当满足以下所有条件时,应用程序将很容易受到攻击:
- 响应header是通过springframework.http.ContentDisposition进行添加的
- 文件名是通过以下方式之一设置的:
- Builder#filename(String)。
- Builder#filename(String, US_ASCII)。
- filename的值来自用户提供的输入。
- 应用程序未清除用户提供的输入。
- 攻击者已将下载的响应内容中注入恶意命令。
禹宏信安建议使用Spring MVC或Spring WebFlux用户及时安装最新补丁,以免遭受黑客攻击
漏洞编号
CVE-2020-5398
漏洞危害
应用程序在受到攻击时容易受到反射文件下载(RFD)攻击。
漏洞等级
高危
受影响版本
Spring Framework:
5.2.0 to 5.2.2
5.1.0 to 5.1.12
5.0.0 to 5.0.15
修复方案
- 建议2.x用户应升级到5.2.3。5.1.x用户应升级到5.1.13。5.0.x用户应升级到5.0.16
- 或者采用正确配置:
- 应用程序未设置“ Content-Disposition”响应header。
- 响应header不是通过springframework.http.ContentDisposition进行添加的,文件名是通过以下方式之一设置的:
ContentDisposition.Builder#filename(String, UTF_8)
ContentDisposition.Builder#filename(String, ISO_8859_1)
filename的值不是来自用户提供的输入
filename来自用户提供的输入,但由应用程序清除。