欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

CVE-2019-0192:Apache Solr远程代码执行

来源:本站整理 作者:佚名 时间:2019-03-30 TAG: 我要投稿

安全研究人员Michael Stepankin发现了一个开源企业搜索平台Apache Solr中的漏洞:CVE-2019-0192。该漏洞是一个与不可靠数据的反序列化关键漏洞。为了更好的理解漏洞的工作院里,研究人员通过POC证明了潜在的漏洞利用和攻击。
黑客成功利用该漏洞可以在服务器应用环境下执行任意代码。比如,非认证的黑客可以利用该漏洞发送伪造的到Config API的HTTP请求,该API允许Apache Solr用户设置不同的Apache Solr元素。受影响的版本包括Solr 5.0.0到5.5.5和6.0.0到6.6.5。
Apache Solr
Apache Solr是一个基于Java库Apache Lucene的开源企业搜索平台,目前的市场占有率为35%,主要是跨国公司和机构在使用。
Apache Solr开源索引、查询和映射文档、站点和不同来源的数据,然后返回相关内容的推荐。支持文本搜索、hit highlighting(选中高亮显示)、和文档处理等功能,还支持JSON表示状态转移(REST)应用程序接口(API)。也就是说Apache Solr可以融入到其他系统和程序语言中,使用的端口为8983。
CVE-2019-0192
该漏洞是由于对到Config API的请求有限性验证不足引起的,Config API是Apache Solr用户用来配置solrconfig.xml文件的。该xml文件可以通过映射不同的请求和处理来控制Apache Solr的行为。solrconfig.xml中的参数定义了搜索请求和数据处理、管理和提取的方式。
Apache Solr是基于Java的,而Java允许对象序列化,也就是说可以将对象转化或表示为压缩的字节流。因此对象可以在网络间传输,然后Java虚拟机在接收字节流后可以反序列化使用。
Config API允许Solr的Java管理扩展(JMX)服务器通过HTTP POST请求进行配置。攻击者可以将JMX服务器指向一个恶意的远程方法调用(RMI)服务器,并利用该漏洞来触发Solr服务器上的运行代码执行。
CVE-2019-0192工作原理
攻击者可以运行命令来开启恶意的RMI服务器,如图1(上部)所示。含有JRMPListener类的ysoserial payload可以用来嵌入命令touch /tmp/pwn.txt,然后可以在有漏洞的Apache Solr上执行。图1(下部)中的POST请求可以发送给Solr来远程设置JMX服务器。


图1. 恶意RMI启动和POST请求发送
JMX可以使用远程客户端连接到JVM并监控运行在JVM中的应用。应用程序可以通过管理的beans(MBeans)的进行管理。开发者、程序员和Apache Solr用户都可以通过Java RMI在不同的协议之上访问MBeans。想在服务器上使用JMX/RMI接口的Apache Solr users可以对应地创建一个JMXService URL (service:jmx:rmi:///jndi/rmi://:
/jmxrmi)。
如图2所示,攻击者利用该漏洞可以使用POST请求,并通过使用set-property JSON对象的config API来设置JMXService URL (jmx.serviceUrl)。
如图3所示,会返回一个500错误,响应body中含有字符串undeclared checked exception; nested exception is。

图2. 表明JMXService远程设置的代码

图3. 出现错误500的代码
由于不适当的有效性验证,jmx.serviceUrl可以被指向攻击者控制的JMRP监听器,这会导致有漏洞的Apache Solr模拟到恶意JMRP监听器的RMI连接。并与恶意RMI服务器进行三次握手来建立到恶意RMI服务器的连接。
然后攻击者可以利用这种方式来在有漏洞的Apache Solr服务器上实现远程代码执行,如图4所示,攻击者可以发送一个恶意的伪造的序列化的对象。

 
图4. 利用CVE-2019-0192后的数据传输
如何解决?
Apache Solr建议用户尽快进行补丁修复或升级到7.0及之后版本。同时建议用户禁用或限制Config API。对运行Apache Solr的主机的异常流量进行配置和监控。
使用和管理Apache Solr的开发者、程序员和系统管理员应该使用安全设计原则,并实施最小权限原则来保护和应对该漏洞引发的威胁。
 

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载