Shiro CVE-2020-17523 路径绕过

💡 原文中文,约3700字,阅读约需9分钟。
📝

内容提要

Apache Shiro 1.7.1之前的版本在与Spring结合使用时存在身份验证绕过漏洞,因路径配置不当导致特定HTTP请求可绕过认证。修复建议是将trimTokens参数设置为false,以保留路径中的空格。

🎯

关键要点

  • Apache Shiro 1.7.1之前的版本存在身份验证绕过漏洞。
  • 漏洞由路径配置不当引起,特定HTTP请求可绕过认证。
  • 修复建议是将trimTokens参数设置为false,以保留路径中的空格。
  • 漏洞条件为shiro < 1.7.1,路径配置为类似“/*”的单通配符。
  • 使用spring的漏洞复现环境包括shiro:1.7.0和springboot:2.7.4。
  • 漏洞分析显示,空格在路径匹配中被去除,导致认证绕过。
  • 最终修复方案是调整路径匹配逻辑以避免空格被去除。

延伸问答

Apache Shiro CVE-2020-17523 漏洞是什么?

Apache Shiro 1.7.1之前的版本存在身份验证绕过漏洞,因路径配置不当导致特定HTTP请求可绕过认证。

如何修复 Apache Shiro CVE-2020-17523 漏洞?

修复建议是将trimTokens参数设置为false,以保留路径中的空格。

漏洞的触发条件是什么?

漏洞条件为shiro版本低于1.7.1,且路径配置为类似“/*”的单通配符。

使用Spring时,如何复现该漏洞?

使用shiro:1.7.0和springboot:2.7.4的环境可以复现该漏洞,且未手动配置CVE-2020-17510修复补丁。

为什么路径匹配会导致认证绕过?

因为空格在路径匹配中被去除,导致认证绕过,最终路径无法正确匹配。

CVE-2020-17523 漏洞的影响是什么?

该漏洞可能导致未授权用户绕过身份验证,获取敏感信息或执行受限操作。

➡️

继续阅读