CVE-2024-13061:Apache Shiro中的安全漏洞

CVE-2024-13061 是一项影响 Apache Shiro 的安全漏洞, researchers 于 2024 年 8 月发现并公布了这一问题。该漏洞被评估为 CVSS 分数为 9.8,允许未经身份验证的攻击者执行远程代码执行(RCE)。

简介

2024 年 8 月 5 日,SonicWall 研究人员在测试 CVE-2024-36104 的修复包时,发现了 Apache Shiro 中的一个零日安全漏洞,编号为 CVE-2024-13061。该漏洞允许未经身份验证的攻击者通过恶意构造的请求执行远程代码。这种漏洞出现在 Shiro 的过滤器链中的错误处理逻辑中,使得攻击者能够绕过安全检查,执行任意代码。

背景

Apache Shiro 是一个开源的安全框架,用于保护 Java 应用程序。它提供了各种安全功能,包括身份验证、授权和会话管理。Shiro 在多个行业中广泛使用,包括 web 应用、移动应用和企业应用。

在分析 CVE-2024-36104 时,SonicWall 研究人员发现了 Shiro 中的一个漏洞,即 FilterChainDefinition 类在处理过滤器链时会产生错误。这种错误使得攻击者能够在未经身份验证的情况下访问受保护的资源,从而导致远程代码执行。

如何工作

CVE-2024-36104 中的漏洞涉及到 Shiro 的过滤器链中不正确的错误处理逻辑。攻击者可以通过发送特制的请求,例如包含 ‘..’ 序列的 URL,从而导致系统目录的访问。例如:

1
POST /some/resource/%2e%2e/another/resource

这种请求会导致系统执行任意代码,例如:

1
2
POST /some/resource/%2e%2e/another/resource
POST-Body: groovyProgram=throw new Exception('whoami'.execute().text);

攻击链

在 CVE-2024-13061 中,攻击者可以通过以下方式利用漏洞:

  1. 未经身份验证的访问:攻击者可以通过恶意构造的请求访问受保护的资源。
  2. 过滤器链错误处理:Shiro 的过滤器链在处理错误时会产生错误,使得攻击者能够绕过安全检查。
  3. 远程代码执行:攻击者可以执行任意代码,从而控制整个系统。

修复建议

为了修复 CVE-2024-13061,Apache Shiro 开发团队建议更新到最新版本,具体到 2024 年 8 月发布的修复包。未及时更新的系统将面临严重的安全风险,包括未经授权的登录参数操纵和任意代码执行。

总结

CVE-2024-13061 是一项严重的安全漏洞,允许未经身份验证的攻击者执行远程代码执行。为了保护系统,必须及时更新到最新版本。任何延迟都可能导致系统被操纵,造成严重后果。