近期有很多小伙伴问了个相同的问题:引用的组件已经是最新版本了,检测还是有漏洞,这样的只能换依赖了吗...
拿 kaptcha 安全漏洞举例:
kaptcha 是个图形验证码的库,使用该组件的人数也非常多,搜 “spring 验证码”,前几篇文章里面就有人在教如何使用这个组件(2022年的文章),国内star比较多的项目同样也在用。
这个漏洞简单来说就是生成验证码的随机函数不够安全,可以相对低成本的破解。该组件风险程度较高,CVSS 评分达9.8,建议使用该组件的项目及研发小伙伴尽快修复该组件。
在找解决方案的时候发现,官方没有发布修复后的版本,最新版本就是2.3.2。而GitHub也提示了这个漏洞,也有人去官方仓库下面问,但是没有找到官方修复方案。
有意思的是,18年作者在GitHub上修了,然后没更新maven仓库。而解决方案可以考虑换成pro.fessional:kaptcha 2.3.3版本,或者自己打包一下kaptcha。