项目新上线,是使用springboot
框架,云服务器检测出来有5个漏洞
查阅了相关资料,大致的原因了解了,受影响的版本如下:
Spring Framework反射型文件下载漏洞
Jackson-databind反序列化漏洞(CVE-2020-35490/CVE-2020-35491)
Jackson 远程代码执行漏洞 (CVE-2020-35490等)
从检测报告中看出升级spring-boot-starter-parent
版本即可修复。
已修复版本spring-boot-starter-parent >= 2.2.10.RELEASE
。
踩坑:版本兼容问题
原来spring-boot-starter-parent
的版本是2.1.0.RELEASE
,直接升级到2.3.x
或 2.2.11.RELEASE
、2.2.12.RELEASE
、2.2.13.RELEASE
会导致原项目中的 mapstruct
在对象拷贝时无法赋值。有网友说可以尝试过升级mapstruct-1.3.1.Final
和lombok-1.18.12
的版本,依旧不行。
无奈只能把spring-boot-starter-parent
的版本重新降回是2.1.0.RELEASE
,然后尝试升级小版本,测试了2.2.0.RELEASE
、2.2.5.RELEASE
都正常,最后使用2.2.10.RELEASE
也正常。到此终于解决了版本不兼容问题,对应的Spring Framework
版本是2.9.0,Jackson-databind
的版本是2.10.5,再次检测漏洞已解决。