背景介绍
老的项目基于spring-boot-1.5.x、spring-security-oauth2-2.x实现的sso,在近期的安全漏洞扫描中发现如下2个漏洞:
漏洞 | 涉及jar | 修复方案 |
---|---|---|
Spring Framework JDK >= 9 远程代码执行漏洞(CVE-2022-22965) | spring-core-4.3.12.RELEASE.jar | 升级官方安全版本 >= 5.3.18/5.2.20 |
Spring Security RegexRequestMatcher 认证绕过漏洞(CVE-2022-22978) | spring-security-core-4.2.3.RELEASE.jar | 5.5.x 版本使用者建议升级至5.5.7及其以上; 5.6.x 版本使用者建议升级至5.6.4及其以上 |
然后笔者的同事将spring-boot升级到了2.5.14;将spring-security-oauth2升级到了2.1.0、RELEASE,这样一来,spring-core的版本被间接的升级到了5.3.20,spring-security-core版本变成了5.5.8(主要是spring-boot决定的)。
因为spring-boot-1.x和2.x之间的差距,同步的对项目依赖和代码做了微调。这里不再列出。不是今天的重点。
项目终于能成功启动了,但是一个致命的问题出来了,登录成功后,不能正确的回跳到redirect_uri指定的地址。这里如果你对spring-security-oauth2实现登录认证不熟悉