• 我的位置:
  • 首頁
  • -
  • 漏洞預警
  • -
  • 應(yīng)用
  • -
  • Spring Security身份認證繞過漏洞CVE-2022-31692
    • CNNVD編號:未知
    • 危害等級: 高危 
    • CVE編號:CVE-2022-31692
    • 漏洞類型: 身份認證繞過
    • 威脅類型:未知
    • 廠       商:未知
    • 漏洞來源:深信服
    • 發(fā)布時間:2023-03-20
    • 更新時間:2023-03-20

    漏洞簡介

    2022 年11月4日,深信服安全團隊監(jiān)測到一則 Spring Security 組件存在身份認證繞過漏洞的信息,漏洞編號:CVE-2022-31692,漏洞威脅等級:高危。

    該漏洞由于 Spring Security 中的 authorizeHttpRequests 方法中存在缺陷,開發(fā)者使用 forward 方式將客戶端請求轉(zhuǎn)發(fā)至高權(quán)限路由時可能導致權(quán)限繞過,攻擊者可利用該漏洞越權(quán)訪問受保護的界面,甚至獲取管理員權(quán)限。

    漏洞公示

    暫無

    參考網(wǎng)站

    https://nvd.nist.gov/vuln/detail/CVE-2022-31692

    https://tanzu.vmware.com/security/cve-2022-31692

    受影響實體

    VMware Spring Security 是美國威睿(Vmware)公司的一套為基于 Spring 的應(yīng)用程序提供的功能強大且高度可定制的身份驗證和訪問控制框架。廣泛應(yīng)用于基于 Spring 開發(fā)的應(yīng)用程序。

    目前受影響的 Spring Security 版本:

    5.6.0 ≤ Spring Security ≤ 5.6.8

    5.7.0 ≤ Spring Security ≤ 5.7.4

    補丁


    解決方案

    圖片

    如何檢測組件版本


    方法一 


    Windows 系統(tǒng):

    全盤搜索 spring-security-bom- ,如果存在 spring-security-bom-{version}.jar ,則用戶可能受影響。


    Linux 系統(tǒng):

    使用 find / -name ‘spring-security*’ 命令搜索,如果存在 spring-security-bom-{version}.jar 則用戶可能受漏洞影響。


    方法二 


    為 Maven 目,可查看項目 pom.xml 中 spring-security-core 和 spring-security-web 的 version 字段值是否位于受影響版本。


    <dependencies>  <!-- ... other dependency elements ... --!>  <dependency>    <groupId>org.springframework.security</groupId>    <artifactId>spring-security-web</artifactId>    <version>5.6.9</version>  </dependency>  <dependency>    <groupId>org.springframework.security</groupId>    <artifactId>spring-security-core</artifactId>    <version>5.6.9</version>  </dependency></dependencies>

    如果 pom.xml 中沒有寫明 spring-security-core 和 spring-security-web 的版本號,說明使用了 Springboot 內(nèi)置的 Spring Security 組件,可以在此鏈接中查詢 Springboot 對應(yīng)版本內(nèi)置 Spring Security 的版本號。


    查詢鏈接:https://github.com/spring-projects/spring-boot/releases

    圖片

    官方修復建議

    當前官方已發(fā)布最新版本,建議受影響的用戶及時更新升級到最新版本。鏈接如下:

    https://spring.io/projects/spring-security


    打補丁/升級方法:

    升級 Springboot 至安全版本,或修改 pom.xml 中 spring-security-web 和 spring-security-core 的版本,強制使用安全版本的 Spring Security 依賴。

    圖片

    臨時修復建議

    該臨時修復建議存在一定風險,建議用戶可根據(jù)業(yè)務(wù)系統(tǒng)特性審慎選擇采用臨時修復方案:

    當 Spring Security ≥ 5.7.0 ,可使用 authorizeRequests().filterSecurityInterceptorOncePerRequest(false) 代替 authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)

    當 Spring Security < 5.7.0 時 shouldFilterAllDispatcherTypes 方法不可用,可通過添加 ObjectPostProcessor 緩解此漏洞。

    最后保存并重啟服務(wù)即可生效。修復后結(jié)果: