1、 基本情况
Apache Solr发现远程代码执行漏洞,CVE编号:CVE-2019-0192。攻击者通过ConfigAPI将其配置指向恶意RMI服务器,利用Solr的不安全反序列化来触发Solr端上的远程代码执行。
2、 攻击原理
该漏洞主要是利用ConfigAPI传入set-poroperty属性,构造恶意的请求,传入指向恶意的RMI服务器的链接,覆盖之前服务器的原设置,使得目标服务器与攻击者的恶意RMI服务器相连,攻击者可以使用ysoserial工具,通过RMI服务器向远端目标服务器发送请求,并在目标服务器上执行,实现远程命令执行。
首先使用Apache Solr 5.5.3版本作为靶机(注意,一定要使用jre7u25以下jre),执行solr -e techproducts-Dcom.sun.management.jmxremote指令开启服务。
然后使用ysoserial工具,执行Java -cp ysoserial-0.0.6-SNAPSHOT-all.jarysoserial.exploit.JRMPListener 12363 Jdk7u21 "calc"指令,监听12363端口。
最后传入数据之后,成功弹出计算器:
3、 影响范围
Apache Solr影响版本:
Ø Apache Solr 5.0.0 - 5.5.5
Ø Apache Solr 6.0.0 - 6.6.5
4、 处置建议
1) Apache Solr官方已经在Apache Solr 7.0 及之后版本修复了该漏洞,用户可以更新至Apache Solr 7.0 及之后版本: http://mirror.bit.edu.cn/apache/lucene/solr/
2) Apache Solr官方已经发布了SOLR-13301.patch 补丁,用户需要安装补丁后重新编译Solr,补丁地址: https://issues.apache.org/jira/secure/attachment/12961503/SOLR-13301.patch
5、 参考链接
1) http://www.apache.org/
2) http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-0192