一、综述
近日,VMware Tanzu发布安全公告,公布了一个存在于Spring Framework中的反射型文件下载(Reflected File Download,RFD)漏洞CVE-2020-5421。CVE-2020-5421 可通过jsessionid路径参数,绕过防御RFD攻击的保护。先前针对RFD的防护是为应对 CVE-2015-5211 添加的。
攻击者通过向用户发送带有批处理脚本扩展名的URL,使用户下载并执行文件,从而危害用户系统。
官方已发布修复了漏洞的新版本。
Spring Framework是 Java 平台的一个开源全栈应用程序框架和控制反转容器实现,一般被直接称为 Spring。
参考链接:
https://tanzu.vmware.com/security/cve-2020-5421
二、影响范围
受影响产品版本
- Spring Framework 5.2.0 – 5.2.8
- Spring Framework 5.1.0 – 5.1.17
- Spring Framework 5.0.0 – 5.0.18
- Spring Framework 4.3.0 – 4.3.28
- 以及其他已不受支持的版本
不受影响产品版本
- Spring Framework 5.2.9
- Spring Framework 5.1.18
- Spring Framework 5.0.19
- Spring Framework 4.3.29
三、解决方案
官方已发布修复了漏洞的新版本,建议相关用户尽快升级进行防护。
下载链接:
https://github.com/spring-projects/spring-framework/releases
另外,针对 RFD 攻击,官方曾在 CVE-2015-5211 的通告中给出如下建议:
https://tanzu.vmware.com/security/cve-2015-5211
- 编码而不是转义JSON响应。
具体操作详见:
https://github.com/rwinch/spring-jackson-owasp
- 将后缀模式匹配配置为关闭或仅限于显式注册的后缀。
- 配置内容协商时,将 “useJaf “和 “ignoreUknownPathExtension “属性设置为false,这将导致未知扩展名的URL得到406响应。但请注意,如果URL本来会在结尾处有一个点,就不要使用该项。
- 在响应中添加 “X-Content-Type-Options: nosniff “头。