vlambda博客
学习文章列表

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告

2019年10月31日,奇安信CERT监测到安全研究人员@_S00pY将Solr通过Velocity模板代码执行任意命令漏洞的POC放到了Github。经研判,该POC对Solr的多个版本有效。近日,通过监测外部安全情报发现Apache Solr官方已经修复该漏洞并为此漏洞发布CVE编号,CVE编号为CVE-2019-17558。同时该情报指出之前Apache Solr发布的8.3.1版本修复不完善,并重新确定了漏洞的受影响版本为5.0.0 <= Apache Solr <= 8.3.1。建议受影响的用户更新Apache Solr,对此漏洞进行防御。

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告


奇安信 CERT


漏洞描述


Apache Solr是美国阿帕奇(Apache)软件基金会的一款基于Lucene(一款全文搜索引擎)的搜索服务器。Apache Velocity是一个提供HTML页面模板、email模板和通用开源代码生成器模板的模板引擎。在Apache Solr 的多个版本中,Apache Solr的VelocityResponseWriter功能的配置参数可通过HTTP请求指定,导致用户可通过设置特定参数后,通过注入任意Velocity模板造成任意命令执行。

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告


风险等级


奇安信 CERT风险评级为:中危

风险等级:蓝色(一般事件)


影响范围


5.0.0 <= Apache Solr <= 8.3.1

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告


处置建议


升级到Apache Solr 8.4

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告



技术分析

经测试,此功能依赖相关jar包(server/solr-webapp/webapp/WEB-INF/lib/目录下)。环境搭建tips:

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告

想要利用此漏洞,其中solrconfig.xml配置文件至少需要以下内容:

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告

其中上面的版本号8.2.0需要改成具体的版本号。


在满足以上环境条件的情况下,利用此漏洞分两步骤。先通过一个HTTP请求将params.resource.loader.enabled这个关键的参数设置true,这样就能允许任意的模板代码从用户的HTTP请求中指定。然后再通过指定任意Velocity模板代码执行任意命令。由于Solr默认未开启认证,在这种情况下,此漏洞利用不需要登录凭据。


关于params.resource.loader.enabled参数,参考官方文档:

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告


漏洞演示:

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告

【通告更新】Apache Solr模板注入远程代码执行漏洞安全风险通告


产品线解决方案


奇安信网站应用安全云防护系统已更新防护特征库:

奇安信网神网站应用安全云防护系统已全局更新所有云端防护节点的防护规则,支持因Apache solr API可控导致的远程代码执行漏洞的防护。


奇安信网神云锁产品解决方案:

奇安信网神云锁产品(私有云版/公有云版)可通过更新网站漏洞防御规则支持对此Apache Solr远程代码执行漏洞的防御,请用户联系技术支持人员获取防护规则。


360网神虚拟化安全管理平台已更新入侵防御规则库:

360 网神虚拟化安全管理平台无代理版本可通过更新入侵防御规则库到10191版本,支持对此Apache Solr远程代码执行漏洞的防御,请用户联系技术支持人员获取规则升级包对虚拟化产品无代理版本进行升级。


奇安信天眼产品解决方案:

奇安信天眼新一代威胁感知系统在第一时间加入了该漏洞的检测规则,请将规则包升级到3.0.1031. 11434及以上版本。规则名称:Apache Solr Velocity模板远程代码执行漏洞,规则ID:0x1002073F。奇安信天眼流量探针(传感器)升级方法:系统配置->设备升级->规则升级,选择“网络升级”或“本地升级”。


360网神天堤防火墙产品防护方案:

360新一代智慧防火墙(NSG3000/5000/7000/9000系列)和下一代极速防火墙(NSG3500/5500/7500/9500系列)产品系列,已通过更新IPS特征库完成了对该漏洞的防护。建议用户尽快将IPS特征库升级至“1910311200” 及以上版本并启用规则ID: 5410进行检测。


奇安信网神网络数据传感器系统产品检测方案:

奇安信网神网络数据传感器(NDS3000/5000/9000系列)产品,已具备该漏洞的检测能力。规则ID为:5410,建议用户尽快升级检测规则库至1910311200及以上版本并启用该检测规则。



参考资料

[1]https://gist.githubusercontent.com/s00py/a1ba36a3689fa13759ff910e179fc133/raw/fae5e663ffac0e3996fd9dbb89438310719d347a/gistfile1.txt

[2]http://yonik.com/solr-5-1/

[3]https://stackoverflow.com/questions/56241287/velocity-response-writer-is-not-working-in-solr

[4]https://stackoverflow.com/questions/50398845/error-loading-class-solr-velocityresponsewriter

[5]https://lucene.apache.org/solr/guide/8_2/requesthandlers-and-searchcomponents-in-solrconfig.html

[6]https://lucene.apache.org/solr/guide/8_2/velocity-response-writer.html

[7]https://lucene.apache.org/solr/8_4_0/changes/Changes.html#v8.4.0.upgrade_notes



时间线

2019年10月31日,奇安信 CERT发布此漏洞安全风险通告
2020年1月2日,奇安信 CERT发布此漏洞安全风险通告第二次更新