Apache Solr Deserialization 远程代码执行缝隙安全公告
颁布功夫 2019-03-13缝隙编号和级别
CVE编号:CVE-2019-0192,,,,,,,危险级别:高危,,,,,,, CVSS分值:官方未评定
影响领域
受影响版本:
Apache Solr 5.0.0 to 5.5.5
Apache Solr 6.0.0 to 6.6.5
缝隙概述
Apache Solr是一个开源的搜索服务器。。。。。。。拥有高度靠得住、可伸缩和容错的,,,,,,,提供散布式索引、复造和负载平衡查问、自动故障转移和复原、集中配置等职能。。。。。。。
Solr为世界上很多最大的互联网站点提供搜索和导航职能。。。。。。。Solr 使用 Java 说话开发,,,,,,,重要基于 HTTP 和 Apache Lucene 实现。。。。。。。
Apache Solr 中存储的资源是以 Document 为对象进行存储的。。。。。。。每个文档由一系列的 Field 组成,,,,,,,每个 Field 暗示资源的一个属性。。。。。。。Solr 中的每个 Document 必要有能唯一标识其自身的属性,,,,,,,默认情况下这个属性的名字是 id,,,,,,,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>进行描述。。。。。。。
该缝隙性质是ConfigAPI允许通过HTTP POST要求配置Solr的JMX服务器。。。。。。。攻击者能够通过ConfigAPI将其配置指向恶意RMI服务器,,,,,,,利用Solr的不安全反序列化来触发Solr端上的远程代码执杏祝。。。。。。
目前据统计,,,,,,,在全球领域内对互联网盛开Apache Solr的资产数量多达15万台,,,,,,,其中归属中国地域的受影响资产数量为2万以上。。。。。。。
缝隙分析
Apache Solr中的ConfigAPI允许设置一个jmx.serviceUrl,,,,,,,它将创建一个新的JMXConnectorServerFactory,,,,,,,并通过“绑定”操作触发对指标RMI/LDAP服务器的挪用。。。。。。。恶意的RMI服务器能够响应肆意的对象,,,,,,,这些对象将在Solr端使用java的ObjectInputStream反序列化,,,,,,,这被以为是不安全的。。。。。。。这种类型的缝隙能够利用ysoserial工具。。。。。。。凭据指标类蹊径,,,,,,,攻击者能够使用其中一个“gadget chain”来触发Solr端上的远程代码执杏祝。。。。。。
首先必要相识一下configAPI,,,,,,,他重要职能是检索或批改配置。。。。。。。 GET掌管检索,,,,,,,POST掌管执行号令。。。。。。。通过传入set-property属性,,,,,,,机关恶意的数据,,,,,,,传入指向恶意的rmi服务器的链接,,,,,,,覆盖之前服务器的原设置,,,,,,,使得指标服务器与攻击者的恶意rmi服务器相连,,,,,,,攻击者能够使用ysoserial工具,,,,,,,通过rmi服务器向远端指标服务器发送号令,,,,,,,并在指标服务器上执行,,,,,,,实现远程号令执杏祝。。。。。。
缝隙触发点在JmxMonitoredMap.class中的newJMXConnectorServer函数中,,,,,,,此函数能够让服务器与新的rmi服务器相衔接,,,,,,,并且每次挪用此函数城市产生一个分歧的对象。。。。。。。所以当攻击者通过覆盖传入自己的rmi服务器地址,,,,,,,指标服务器就会与之相连,,,,,,,执行内部的号令。。。。。。。
代码如下:
复现如下:
下载Apache Solr 5.5.3版本作为靶机(把稳,,,,,,,肯定要使用jre7u25以下jre),,,,,,,执行solr -e techproducts -Dcom.sun.management.jmxremote指令开启服务。。。。。。。
使用ysoserial工具,,,,,,,执行Java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 12363 Jdk7u21 "calc"指令,,,,,,,监听12363端口。。。。。。。而后传入以下数据:
成功弹出推算器,,,,,,,如图:
建复建议
Apache Solr官方已经在Apache Solr 7.0 及之后版本建复了该缝隙,,,,,,,用户能够更新至Apache Solr 7.0 及之后版本:http://mirror.bit.edu.cn/apache/lucene/solr/。。。。。。。
Apache Solr官方已经颁布了SOLR-13301.patch 补丁,,,,,,,用户必要装置补丁后沉新编译Solr,,,,,,,补丁地址:https://issues.apache.org/jira/secure/attachment/12961503/SOLR-13301.patch。。。。。。。
参考链接
https://issues.apache.org/jira/browse/SOLR-13301


京公网安备11010802024551号