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