Spring MVC 反射型文件下载误差危害通告
宣布时间 2020-02-04误差编号和级别
CVE编号:CVE-2020-5398,危险级别:高危,CVSS分值:7.5
影响版本
Spring Framework:
5.2.0 to 5.2.2
5.1.0 to 5.1.12
5.0.0 to 5.0.15
误差概述
Pivotal Software Spring Framework是美国Pivotal Software公司的一套开源的Java、JavaEE应用程序框架。该框架可资助开发职员构建高质量的应用。
克日,Pivotal Software(Spring系列)官方宣布 Spring Framework 保存 RFD(反射型文件下载误差)的误差报告,此误差为攻击客户端的误差,官方将误差严重水平评为高。报告指出,当响应中设置了“Content-Disposition”头且filename属性是用户可控时容易受到RFD攻击。攻击应知足以下所有条件才可乐成:
1、响应header是通过org.springframework.http.ContentDisposition举行添加的
2、文件名是通过以下方法之一设置的:
ContentDisposition.Builder#filename(String)
ContentDisposition.Builder#filename(String, US_ASCII)
3、filename的值来自用户提供的输入
4、应用程序未扫除用户提供的输入
5、攻击者已将下载的响应内容中注入恶意下令
攻击者可使用RFD误差,团结社工等方法,让用户下载一个恶意文件并执行,从而危害用户的终端清静。
误差验证
暂无POC/EXP。
修复建议
现在厂商已宣布升级补丁以修复误差,请受影响的用户升级至 Spring Framework 5.2.3,5.1.13 或 5.0.16 版本:https://github.com/spring-projects/spring-framework。
或者接纳准确设置:
1、应用程序未设置“ Content-Disposition”响应header。
2、响应header不是通过org.springframework.http.ContentDisposition举行添加的
3、文件名是通过以下方法之一设置的:
ContentDisposition.Builder#filename(String, UTF_8)
ContentDisposition.Builder#filename(String, ISO_8859_1)
4、filename的值不是来自用户提供的输入
5、filename来自用户提供的输入,但由应用程序扫除。
参考链接
https://pivotal.io/security/cve-2020-5398


京公网安备11010802024551号