【漏洞预警】Apache Solr由于错误默认配置导致的RCE(CVE-2019-12409)

2019-11-19 16:32:15

近日,白帽汇安全研究院发现网络上出现针对Apache Solr服务器的远程代码执行漏洞。

solr1.png

该漏洞是在受影响的版本中,默认情况下配置文件solr.in.sh的配置选项ENABLE_REMOTE_JMX_OPTS字段值是“true”,这会启用JMX监视服务并会在公网中监听一个18983的RMI端口,没有任何认证。也就是说在无需身份验证情况下,攻击者结合使用JMX RMI就会造成远程代码攻击。

概况

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。

目前FOFA系统最新数据(一年内数据)显示全球范围内共有9147个Solr服务对外开放。美国使用数量最多,共有3431个,中国第二,共有1427个,德国第三,共有866个,爱尔兰第四,共有450台,法国第五,共有312个。

全球范围内Solr服务分布情况如下(仅为分布情况,非漏洞影响情况)

solr_jmx.png

中国大陆地区浙江省使用数量最多,共有739个,北京市第二,共有264个,广东省第三,共有63个,江苏省第四,共有41个,上海市第五,共有28个。

solr_china.png

危害等级

严重

漏洞原理

在开放的端口上,利用 javax.management.loading.MLet的getMBeansFromURL 方法来加载一个远端恶意的 MBean,就可以造成远程代码执行了。

漏洞影响

适用于Linux的Solr 8.1.1和8.2.0

CVE编号

CVE-2019-12409

修复建议

配置文件solr.in.sh的配置选项ENABLE_REMOTE_JMX_OPTS值改为“false“,然后重启。

该配置文件在docker中的存放位置:/etc/defaults

lcoate.png