CVE-2019-12409/Apache Solr由于错误配置JMX RMI导致远程代码执行漏洞
时间:2019-11-19 22:03 作者:admin 分类: 业界新闻
0x1 背景
Solr是apache的顶级开源项目,它是使用java开发 ,基于lucene的全文检索服务器。
Solr仅新版本 8.1.1, 8.2.0受到该漏洞影响,Solr用户不应该把自身的 Solr 集群暴露于公网之中。
在Linux 下的环境下的Apache Solr 8.1.1和8.2.0版本中默认启用不安全配置(ENABLE_REMOTE_JMX_OPTS="true"),如果开启JMX监听服务,可能导致远程代码执行的风险,建议使用Apache Solr的用户尽快更新到无漏洞版本或
由于 Solr 新版默认启动时开启JMX服务,如果你的服务器是在公网上,请立即做好环境网络配置自查工作,或关闭JMX相关功能。
0x2 漏洞详情
Java ManagementExtensions(JMX)是一种Java技术,为管理和监视应用程序、系统对象、设备(如打印机)和面向服务的网络提供相应的工具。
JMX 作为 Java的一种Bean管理机制,如果JMX服务端口暴露,那么远程攻击者可以让该服务器远程加载恶意的Bean文件,随着Bean的滥用导致远程代码执行。
CVE-2019-12409漏洞:在Linux 下的环境下的Apache Solr 8.1.1和8.2.0版本存在默认不安全配置(ENABLE_REMOTE_JMX_OPTS="true"),通过该配置开启RMI服务(默认监听在TCP 18983端口)后,攻击者可利用网上公开的JMX漏洞利用工具进行远程代码执行(RCE)攻击,从而获取服务器权限。
1.启动一个可以被用于远程类加载的 MLet web服务
2.使用JMX服务使目标服务器远程加载恶意类
3.调用恶意 Bean 实现代码执行
0x3 漏洞证明
0x4 修复&缓解措施
临时缓解措施:
本次官方更新主要更新配置选项ENABLE_REMOTE_JMX_OPTS为false,因此在不影响业务系统正常运行的情况下,可以直接修改Apache Solr的bin目录里的solr.in.sh配置文件中的ENABLE_REMOTE_JMX_OPTS字段值为false,修改完配置需要重启服务才能生效。
附漏洞POC利用地址:
https://github.com/jas502n/CVE-2019-12409
参考地址:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12409
https://nosec.org/home/detail/2544.html
https://www.n0tr00t.com/2015/04/17/JMX-RMI-Exploit-Demo.html
https://github.com/mogwailabs/mjet