SpringBoot 2.x 修复 CVE-2024-38819
问题
SpringBoot 2.x 最后一个开源版本 Spring Framework = 5.3.39 ,这个版本存在CVE-2024-38819漏洞,客户比较强硬,这个漏洞还必须要修复
思路
公司联系了Spring Framework官方,推荐是升级的SpringBoot3 ,或者付费使用 Spring Framework 5.3.40 ,Spring Framework官方我们丢给了国内的代理,可是国内的代理一言难尽,还没考虑好如何去对这个事情进行报价,该方案搁置
第二个思路是升级SpringBoot3,做了一些技术预研,这本身是最好的路子,可是我司客户,不可避免的还有用java8的,作为乙方,在政府,军工类项目中话语权很低,如果是国产化采购的服务器,就更难以推动升级jdk为17以上的版本,该思路只适用于部分场景,并且还要考虑到很多历史和定制项目,已经交付了,扫描出了漏洞,就算给升级SpringBoot3这个开发和测试工作量不可估量,暂时搁置。该方案为后面两年的推动目标
公司维护Spring Framework,在GitHub 的 Spring Framework 6.x 版本上,我们可以根据git提交明确的看到官方是如何修复该漏洞,以Spring Framework = 5.3.39 为基础版本,把官方的修改在5.3.39上进行一次相同修改,发出5.3.40版本,如果后续还有类似漏洞我们同样可以参照6.x的修改来维护下去。但是该方案也只能应急,后续还是推动SpringBoot3升级为主线