VMware Tanzu发布安全公告,在Spring Framework版本 5.2.0-5.2.8、 5.1.0-5.1.17、 5.0.0-5.0.18、 4.3.0-4.3.28 和较旧的不受支持的版本中,公布了一个存在于Spring Framework中的反射型文件下载(Reflected File Download,RFD)漏洞CVE-2020-5421。
CVE-2020-5421 可通过jsessionid路径参数,绕过防御RFD攻击的保护。先前针对RFD的防护是为应对 CVE-2015-5211 添加的。
攻击者通过向用户发送带有批处理脚本扩展名的URL,使用户下载并执行文件,从而危害用户系统。VMware Tanzu官方已发布修复漏洞的新版本。
Spring Framework是 Java 平台的一个开源全栈应用程序框架和控制反转容器实现,一般被直接称为 Spring。
参考资料 https://tanzu.vmware.com/security/cve-2020-5421
Affected VMware Products and Versions 受影响的版本
Severity is high unless otherwise noted.
- Spring Framework
- 5.2.0 to 5.2.8
- 5.1.0 to 5.1.17
- 5.0.0 to 5.0.18
- 4.3.0 to 4.3.28
- Older, unsupported versions
Mitigation 安全版本
Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include:
- Spring Framework
- 5.2.9
- 5.1.18
- 5.0.19
- 4.3.29
看公告,我们需要将我们spring的核心版本升级到指定的安全版本
我们项目是springboot的,仓库用的maven
先看一下我们的仓库,果然是存在漏洞的版本


然后修改pom

我们这里的版本需要去maven仓库远程地址去看一下有哪些版本 https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/
截止目前文章发布日期来看,正式版是2.3.9

这里比较恶心的是,我们看的这个版本并不知道maven导入的spring核心版本是多少,所以只能试(我没找到对应版本的关系图)
这里我找到的安全版本 5.2.9 对应parent是 2.3.4.RELEASE

maven重新clean并install
刷新maven发现spring核心组件的版本都是5.2.9了
关于原来是1.几低版本的问题
应用启动类报错
import org.springframework.boot.web.support.SpringBootServletInitializer;
改成
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
综合来讲下次搭架子的时候直接用安全版本就行,省的换了麻烦


博客讲述了如何处理Spring Framework中的安全漏洞CVE-2020-5421,该漏洞可能导致反射型文件下载攻击。作者检查了项目依赖,发现使用了受影响的Spring Boot版本,并通过更新到安全版本(如2.3.4.RELEASE)来解决此问题。升级过程包括修改pom.xml文件并重新构建项目,解决了启动时的不兼容问题。
2603

被折叠的 条评论
为什么被折叠?



