长亭百川云 - 文章详情

CVE-2022-32532 Apache Shiro RegExPatternMatcher 认证绕过漏洞分析与复现

自在安全

54

2024-07-13

★且听安全-点关注,不迷路!

★漏洞空间站-优质漏洞资源和小伙伴聚集地!

文章来自漏洞空间站入圈小伙伴嘟嘟玛卡-HCyber。

**漏洞信息
**

2022 年 6月 28 日监测到 Apache 发布了公告,修复了 Apache Shiro 框架中的一个认证绕过漏洞 CVE-2022-32532 。通过分析发现这个漏洞和之前公众号发表的 Spring Security 认证绕过漏洞 CVE-2022-22978 本质上是一样的:

CVE-2022-22978 Spring Security RegexRequestMatcher 认证绕过漏洞与利用场景分析

QCyber,公众号:且听安全CVE-2022-22978 Spring Security RegexRequestMatcher 认证绕过漏洞与利用场景分析

当使用 `RegexRequestMatcher` 进行认证配置时,可以通过构造特殊请求绕过正则表达式检查,从而实现认证绕过。

**漏洞分析与复现
**

直接引入漏洞报送者 4ra1n 师傅的 github 。该漏洞环境中配置了自定义的 `AccessControlFilter` 实现类,并将 `PatternMatcher` 配置为了 `RegExPatternMatcher` :

`RegExPatternMatcher` 的具体实现是使用 `Pattern.compile(pattern)` 进行正则匹配:

然后将自定义的实现类配置中 `SpringShiroFilter` 中:

当访问 `/permit/any`,是需要认证的:

当构造请求 `/permit/a%0any`,可以绕过正则匹配,从而实现认证绕过( `\r` 的 URL 编码为 `%0d` , `\n` 的 URL 编码为 `%0a` ):

**修复方式
**

补丁对比:

和 CVE-2022-22978 修复方式一样,新增了 `Pattern.DOTALL` ,默认情况下正则表达式 `.` 不会匹配换行符,设置了 `Pattern.DOTALL` 模式,才会匹配所有字符包括换行符。

由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全及文章作者不为此承担任何责任。

★且听安全-点关注,不迷路!****

★漏洞空间站-优质漏洞资源和小伙伴聚集地!

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2