Spring Security身份认证绕过漏洞(CVE-2022-22978或CVE-2023-34034)复现
1 漏洞概述
Spring Security是一个基于框架的安全性身份验证和授权管理组件,提供一套完善的安全办理方案,可以轻松地实现基于脚色或者资源的安全访问控制以及单点登录等。具有兼容性好、易集成等特点。近日,新华三盾山实验室监测到Spring官方发布了安全公告,修复了一个存在于Spring Security中的身份认证绕过漏洞(CVE-2023-34034),攻击者利用该漏洞可绕过身份认证。
由于Spring Security存在身份认证绕过漏洞,当WebFlux中的Spring Security设置使用“**”作为匹配模式时,会导致Spring Security 和Spring WebFlux之间的模式匹配存在差异,恶意攻击者成功利用此漏洞可绕过身份认证机制。
2 影响范围
Spring Security 6.1.0 <= 6.1.1
Spring Security 6.0.0 <= 6.0.4
Spring Security 5.8.0 <= 5.8.4
Spring Security 5.7.0 <= 5.7.9
Spring Security 5.6.0 <= 5.6.11
修复方案:
现在官方已发布安全更新,请及时升级至最新版本:
Spring Security 5.7.10 >= 5.7.13(仅限企业支持)
Spring Security 5.8.5 >= 5.8.15(仅限企业支持)
Spring Security 6.2.* >= 6.2.7
Spring Security 6.3.* >= 6.3.4
3 严重品级
威胁品级严重影响程度广泛利用代价高利用难度中等漏洞评分9.1 4 poc环境验证
下载地点,5.6.3在范围之内
- https://github.com/vulhub/vulhub/tree/master/base/spring/spring-security/5.6.3/code
复制代码 设置maven,jdk1.8,进行启动
进行控制层,访问127.0.0.1:8080/admin
- @Controller
- public class DemoController {
- @GetMapping("/admin/*")
- public String Admin(){
- return "admin";
- }
- @GetMapping("/")
- public String User(){
- return "index";
- }
- }
复制代码 进行访问127.0.0.1:8080/admin,显示成功拒绝
根据"/admin/*"匹配模式,*便是任何路径都可,使用/admin/index%0a,成功绕过权限, %0a为换行符
5 修复方案
官方补丁现在官方已修复该漏洞,受影响用户可以升级更新到安全版本。官方下载链接:https://spring.io/projects/spring-security
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |