当前位置:首页 > 漏洞预警 > 正文

Apache Solr 远程命令执行漏洞预警

发布时间:2019-11-08 14:43:01,来源:中国信息通信研究院

      一、基本情况

Apache Solr Velocity存在远程命令执行漏洞。攻击者可通过远程发送精心构造的HTTP请求,在受影响服务器上进行远程命令执行。

      二、攻击原理

Apache Solr 是一个高性能开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。

Apache Solr中默认集成了VelocityResponseWriter插件,插件的初始化过程中params.resource.loader.enabled,程序默认设置是false。攻击者在访问Solr控制台时,可以通过发送“/节点名称/config”的POST请求的方式对该项配置进行更改,当该配置被更改为true时,用户将被允许通过设置请求中的参数来加载指定模板,这也就意味着攻击者可以通过构造一个具有威胁的攻击请求,在服务器上进行命令执行。

      三、影响范围

Apache Solr受影响版本:

Apache Solr 8.1.1 - 8.2.0

      四、处置建议

目前Apache Solr官方未发布该漏洞的补丁,建议使用Apache Solr的用户进行人工检测,并对受此漏洞影响的版本采取临时措施。

1) 人工检测:

满足下面任意一项,当前系统均可能受此漏洞影响。

可访问http://hostname/solr/实例名/config,config API开放。

在实例的配置目录下存在configoverlay.json文件,且其中有"params.resource.loader.enabled":"true"配置项,默认情况下不存在configoverlay.json文件。

在全局配置文件solrconfig.xml中,“params.resource.loader.enabled”配置项为“true”。

2) 临时措施:

用户可通过在访问控制上禁用对/solr/实例名/config路径的访问。

若configoverlay.json 配置文件中存在"params.resource.loader.enabled":"true"配置项,将其改为false。

若solrconfig.xml配置文件中,VelocityResponseWriter中存在如下配置<bool name="params.resource.loader.enabled">true</bool>,将其修改为false。

      五、参考链接

1) http://lucene.apache.org/solr/

2) https://gist.github.com/s00py/a1ba36a3689fa13759ff910e179fc133