Spring Security AuthenticatedVoter 错误访问控制漏洞复现(CVE-2024-22257)

Spring Security AuthenticatedVoter 错误访问控制漏洞复现(CVE-2024-22257)

Administrator 73 2024-03-21

Spring Security AuthenticatedVoter 错误访问控制漏洞复现(CVE-2024-22257)

来源:

文章作者:

文章链接: https://blog.csdn.net/m0_50797689/article/details/136837122

免责声明 由于传播、利用本站所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!

一、产品介绍

Spring Security 是基于Spring应用程序的认证和访问控制框架。

二、漏洞描述

Spring Security在处理Authentication参数时没有对null值进行检查,当应用程序直接使用AuthenticatedVoter#vote方法,传入null作为认证参数时会错误地返回true值,攻击者可利用该漏洞绕过身份验证,进行提权或窃取系统敏感信息。

三、漏洞危害

可能导致身份验证和授权绕过、未授权访问、信息泄露等。

四、影响版本

6.2.0 <= Spring Security <= 6.2.2
6.1.0 <= Spring Security <= 6.1.7
6.0.0 <= Spring Security <= 6.0.9
5.8.0 <= Spring Security <= 5.8.10
5.7.0 <= Spring Security <= 5.7.11

五、漏洞复现

环境搭建

pom.xml

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>6.1.4</version>
        </dependency>
        AuthenticatedVoter voter = new AuthenticatedVoter();
        List<ConfigAttribute> def = SecurityConfig.createList(AuthenticatedVoter.IS_AUTHENTICATED_REMEMBERED);
        int vote = voter.vote(null, null, def);
        System.out.println(vote);

测试

六、修复建议
 

1、请使用该产品的用户尽快更新至安全版本。