Apache Solr漏洞CVE-2024-45216分析

· 2024-11-02 01:34 · 2 阅读

启明星辰 2024-11-01 17:34 北京

Apache Solr官方发布了一个安全漏洞公告(CVE-2024-45216),使用PKIAuthenticationPlugin的Solr服务会受到身份验证绕过的影响。该漏洞的利用已被公开到互联网。

更多安全资讯和分析文章请关注启明星辰ADLab微信公众号及官方网站(adlab.venustech.com.cn)












 一、漏洞描述




2024年10月,Apache Solr官方发布了一个安全漏洞公告(CVE-2024-45216),使用PKIAuthenticationPlugin的Solr服务会受到身份验证绕过的影响(在Solr Cloud模式下,该身份验证插件默认启用)。在任何Solr API URL路径末尾加入特定的字符串将会绕过身份验证,并且同时可以正确访问该API端点功能。该漏洞的利用已被公开到互联网。






 二、影响与修复



受影响的Apache Solr版本:

  • 5.3.0 <= version < 8.11.4

  • 9.0.0 <= vesion < 9.7.0

Apache Solr在8.11.4以及9.7.0版本已经对该漏洞进行了修复。






 三、漏洞复现




本文在Solr 8.11.3的Cloud模式下复现。在未登录的情况下访问/solr/admin/info/system,如下图所示:






 四、漏洞分析




核心代码在solr-core-8.11.3.jar!/org/apache/solr/servlet/SolrDispatchFilter.class:401 。

这里有两个点,第1个箭头是做身份验证的,第2个箭头是做功能调度的,问题就出在这两个过程中。

先分析身份验证流程:在solr-core-8.11.3.jar!/org/apache/solr/servlet/SolrDispatchFilter.class:501 。

当请求头中存在SolrAuth或者SolrAuthV2,并且PKIAuthenticationPlugin启用的话,就调用该插件进行身份验证。

继续跟进该插件的身份验证流程:

当URL以/admin/info/key结尾的话,就直接略过身份校验,说明该接口是个白名单。

显然,此处就产生了一个漏洞,任何以/admin/info/key结尾的URL请求都会绕过该身份校验。

但其他以/admin/info/key结尾的URL能绕过身份校验,并不意味着能正确路由到正常的功能。

因此就到了开头第二个箭头处。也就是Action result = call.call();

此处调用init方法。

这里判断我们的path中是否有冒号(ascii 58),如果有的话,就截取到冒号处当做真正的请求路由。

所以结合上文的身份绕过,此处就很容易得到权限绕过payload。




参考链接:

[1] Apache Solr官方漏洞通告

https://solr.apache.org/security.html#cve-2024-45216-apache-solr-authentication-bypass-possible-using-a-fake-url-path-ending

[2] GitHub Commit https://github.com/apache/solr/commit/7ef2c0ef36601d8ce8c83192738376ed7c2429ac






启明星辰积极防御实验室(ADLab)





ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞5000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、数据安全研究、5G安全研究、人工智能安全研究、移动安全研究、物联网安全研究、车联网安全研究、工控安全研究、信创安全研究、云安全研究、无线安全研究、高级威胁研究、攻防体系建设。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等





跳转微信打开