> SOP基本信息 <
-
SOP名称:CVE-2022-22978|Spring Security RegexRequestMatcher 认证绕过漏洞处置标准作业程序(SOP)
-
编写日期:2024-08-23
-
修订日期:2024-08-24
-
编写人员:lu(JAVA开发人员)
-
修订记录:
-
初始版本:创建SOP
> SOP的用途 <
> SOP的目标用户技能要求 <
-
Spring Security 基础知识:了解 Spring Security 的基本概念和组件,尤其是与请求匹配和身份认证相关的部分。 -
正则表达式:熟悉RegexRequestMatcher 使用正则表达式来匹配请求路径的语法和应用。 -
漏洞分析和修复:了解如何识别和分析漏洞,并应用修复措施。能够跟踪和理解 Spring Security 的请求处理流程,以确定漏洞的具体位置和修复方法。
> 漏洞详细信息 <
-
漏洞名称:Spring Security 身份认证绕过漏洞
-
CVE编号:CVE-2022-22978
-
严重程度:严重
-
漏洞描述:
-
影响范围:
-
Spring Security 5.5.x < 5.5.7
-
Spring Security 5.6.x < 5.6.4
-
以及较老的不再受支持的版本。
Spring Security是一个能够为基于Spring的应用程序提供认证、授权以及保护免受攻击的安全框架。它是Spring项目的一部分,可以非常容易地集成到Spring应用中,为Java应用提供全面的安全解决方案。
当Spring Security使用RegexRequestMatcher进行权限配置时,由于RegexRequestMatcher正则表达式配置权限的特性,正则表达式中包含“.”时,未经身份验证攻击者可以通过构造恶意数据包绕过身份认证。
漏洞影响的 Spring Security 版本范围:
> 漏洞处置方案 <
官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,酌情升级至安全版本:
-
Spring Security 5.5.x:官方建议将版本升级至5.5.7或更高版本。
-
Spring Security 5.6.x:官方建议将版本升级至5.6.4或更高版本。
-
其他受影响的Spring Security版本:同样建议升级到安全版本。
补丁下载和更新:用户可以通过GitHub下载和更新Spring Security到上述安全版本 。(https://github.com/spring-projects/spring-security/tags)
安全建议:在升级到安全版本之前,建议用户备份数据并进行充分测试,以确保升级过程的顺利进行和应用的稳定性。
参考链接:
-
https://www.huaweicloud.com/notice/2021/20220525183347168.html
-
https://spring.io/security/cve-2022-22978
*注意事项:
-
在应用补丁或升级版本之前,请确保进行充分的备份。
-
遵循官方提供的安装和配置指南进行操作。
-
在生产环境中升级前,最好在测试环境中先进行测试。
-
修复漏洞前进行充分测试,以确保系统稳定性和安全性。
-
不同版本系列尽量升级到本系列版本无漏洞的版本,尽量不要版本跨度太大,避免出现一些不兼容情况。
> 详细修复步骤 <
-
使用开发工具打开受影响的工程 -
本文以idea为例
-
确定当前 Spring Security 版本
-
打开External Libraries查看相关依赖,本文以受影响的spring-security5.5.4版本为例:
-
修改pom文件升级spring-boot-starter-parent版本,spring-boot-starter-security则会引入相应版本
-
创建新分支用于漏洞修复
-
修改pom文件中spring-boot-starter-parent版本,本文以升级到spring-boot-starter-parent-2.7.0为例,spring-boot-starter-security则会引入5.7.1版本:
-
重新编译打包工程
-
编译打包命令
mvn clean install
-
启动对应服务
-
启动命令
java -jar xxx.jar
-
验证修复效果:
-
优先在测试环境进行验证,当使用spring-security5.5.4版本时,访问测试接口http://localhost:8080/admin/1,结果需要认证,访问http://localhost:8080/admin/1%0a时,则可以绕过认证,证明漏洞存在。
-
将spring-security版本升级为5.7.1,访问http://localhost:8080/admin/1%0a时,页面会提示500,证明已无法通过恶意构造正则表达式来绕过认证。
-
测试环境验证结束,在生产环境进行升级时,建议用户备份数据,以确保升级过程的顺利进行和应用的稳定性,升级完成后访问系统相关功能进行测试,确保漏洞已被成功修复。
-
记录处置过程:
-
撰写漏洞处置报告,详细记录修补步骤、日期和结果。
-
提交报告:
-
将漏洞处置报告提交给安全部门,等待验证和确认。
-
CVE-2019-14439|FasterXML jackson-databind 信息泄露漏洞处置标准作业程序(SOP) -
CVE-2020-1938|Apache Tomcat 文件包含漏洞处置SOP -
CVE-2018-1273|Pivotal Spring Data Commons和Spring Data REST 安全漏洞处置SOP -
CVE-2017-18349|FastJson 远程代码执行漏洞处置标准作业程序(SOP)
-
第三期 · 安钥®「漏洞处置标准作业程序(SOP)」征文启示 -
第四期 · 安钥®「漏洞处置标准作业程序(SOP)」征文启示(本篇下文)
▽
原文始发于微信公众号(方桥安全漏洞防治中心):第1期入选SOP · CVE-2022-22978|Spring Security 身份认证绕过漏洞处置SOP
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论