【安全通告】Apache Solr ConfigSet API 上传功能漏洞 (CVE-2020-13957)

近日,Apache Solr修复了ConfigSet API上传功能中的一个漏洞 (CVE-2020-13957)。攻击者可能通过组合使用其 UPLOAD/CREATE 功能来进行未授权操作,最终可能导致命令执行。

Apache Solr 是一个是基于 Lucene 的企业级搜索应用服务器。

漏洞概述

用户在SolrCloud模式下运行Solr时,可借助Configsets API创建、删除和以其他方式管理ConfigSets。

当通过ConfigSets API 执行UPLOAD操作上传 ConfigSet 时,如果开启了身份验证,并且该上传请求已经过了验证,则会以“trusted”模式上传ConfigSet。不启用身份验证时,ConfigSet则以“untrusted”模式上传。

但另一方面,使用ConfigSets API 执行CREATE 操作时,会基于一个已经上传的ConfigSets创建一个新的ConfigSets,这个新的 ConfigSets 的 trusted 标志未被设置,当没有设置该标志时,ConfigSets其实是被当作“trusted”了。

由此,当上传未开启验证时,如果修改ConfigSets 配置文件里的敏感参数,再结合CREATE创建新的 ConfigSet。最终新 ConfigSet 创建的 collection 可能造成命令执行。

参考链接:

https://issues.apache.org/jira/browse/SOLR-14925

受影响产品版本

  • Apache Solr 6.6.0 – 6.6.5
  • Apache Solr 7.0.0 – 7.7.3
  • Apache Solr 8.0.0 – 8.6.2

不受影响产品版本

  • Apache Solr version >= 8.6.3

解决方案

官方已提供修复了漏洞的新版本 8.6.3,可以从以下链接下载:

https://lucene.apache.org/solr/downloads.html

缓解措施(以下任一方法都足以防御此漏洞):

1.  如果未使用ConfigSets API UPLOAD 操作,可将其禁用:

通过运行时参数禁用 -Dconfigset.upload.enabled=false。详情参考:

https://lucene.apache.org/solr/guide/8_6/configsets-api.html

2.  开启身份验证/授权,详情参考:

https://lucene.apache.org/solr/guide/8_6/authentication-and-authorization-plugins.html

3.  如果不便升级,可以考虑使用补丁 SOLR-14663

https://issues.apache.org/jira/browse/SOLR-14663

4.  配置防火墙,确保Solr API(包括Admin UI)只有受信任IP和用户才能访问。

Spread the word. Share this post!

Meet The Author

Leave Comment