漏洞描述
pache Shiro, before 1.12.0 or 2.0.0-alpha-3, may be susceptible to a path traversal attack that results in an authentication bypass when used together with APIs or other web frameworks that route requests based on non-normalized requests.
Mitigation:Update to Apache Shiro 1.12.0+ or 2.0.0-alpha-3+.
Credit:Apache Shiro would like to thank swifty tkfor reporting this issue.
漏洞条件
shiro | 其他API或框架 |
---|---|
<1.12.0 or 2.0.0-alpha-3 | 路径匹配时不对路径进行规范化 |
所谓路径规范化是指对带有”/.."或“/."这样的路劲进行规范化,比如 ”/admin/page/.." 会被规范化为“/admin"
由漏洞描述可知,导致该漏洞出现的原因是shiro在匹配路径时会对路径进行规范化(normalize),但是当使用路径匹配不基于规范化的API或框架时,会导致路径绕过攻击。
通过这个漏洞描述,可以联想到CVE-2020-17510 分析以及CVE-2023-22602 分析的漏洞原因都是如此,但这两个漏洞都是基于Spring框架的,且补丁都是争对spring这个框架进行的修复(spring的路径匹配不基于规范化)。当使用其他API或者框架(路径匹配不基于规范化)时,这些补丁就失效了,故会产生新的漏洞。
漏洞修复
由于该漏洞并不是争对某一框架或API,而是覆盖全部,所以漏洞复现,漏洞分析可以参考CVE-2020-17510和CVE-2023-22602这两个基于Spring框架的漏洞。
本次漏洞补丁: commit
由补丁可知,如果当请求路径中包含路径穿越相关符号,则无法被访问,因此这个补丁可以覆盖所有路径匹配不基于规范化的APIs或组件。
补充:
InvalidRequestFilter会被作为“Global Filter”在初始化时被添加到所有pattern对应的过滤链中。
Reference
[3] commit
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)