Apache Solr 未授权上传(RCE)漏洞(CVE

访客4年前黑客工具975

漏洞简介

Apache Solr?发布公告,旧版本的ConfigSet API?中存在未授权上传漏洞风险,被利用可能导致?RCE?(远程代码执行)。

受影响的版本:

  • Apache Solr6.6.0 -6.6.5

  • Apache Solr7.0.0 -7.7.3

  • Apache Solr8.0.0 -8.6.2

安全专家建议用户尽快升级到安全版本,以解决风险。

漏洞原理

Solr?可运行在?SolrCloud(分布式集群模式)和?StandaloneServer(独立服务器模式)两种模式下,当以?SolrCloud?模式运行时,可通过Configset API?操作?Configsets,包括创建、删除等。

对于通过?Configset API?执行?UPLOAD?时,如果启用了身份验证(默认未开启),且该请求通过了身份验证,Solr?会为该?configset?的设置“trusted”,否则该配置集不会被信任,不被信任的?configset?无法创建collection。

但当攻击者通过?UPLOAD?上传?configset?后,再基于此configsetCREATE configset?时,Solr?不会为这个新的?configset?进行信任检查,导致可以使用未经信任检查的新?configset?创建?collection。

漏洞验证

一、在8.6.2版本中进行攻击尝试

1、Debug?运行8.6.2版本,默认开启在8983端口

1602834513_5f89505156dc6a9628543.png!small?1602834513530

2、使用样例构造上传的?configset1602834520_5f8950589e1f222d06420.png!small?1602834520859

3、上传过程中触发断点

1602834530_5f8950620a2e4be901135.png!small?1602834530313

可以看到,正确识别到?configset?不值得信任(缺少身份认证)

1602834540_5f89506c327ebd68dccf3.png!small?1602834540457

Trust?值为?false

1602834548_5f8950748843b264364bf.png!small?1602834548872

4、 使用上传的?configset?为母版,创建新的?configset

http://localhost:8983/solr/admin/configs?action=CREATE&name=evilconfigset4&baseConfigSet=2testConfigSet&configSetProp.immutable=false&wt=xml&omitHeader=true

1602834559_5f89507f2a95e01ba48b0.png!small?1602834559351

无返回信息,未触发?debug

5、 在?web?控制台可以查看到,创建?evilconfigset4?成功

1602834569_5f895089c3c9db7645087.png!small?1602834570070

6、 使用直接上传的?configset(例如2testconfigset)创建?collection?会失败

1602834577_5f89509175c08cbd00f2f.png!small?1602834577679

1602834586_5f89509a5460d4a3cc99d.png!small?1602834586569

7、 使用以?2testconfigset?为母版创建的?evilconfigset4,创建collection,可以成功

1602834593_5f8950a140bf1c286ff2c.png!small?1602834593673

8、 后续可以利用创建的?collection?的内容,调用solr组件进行远程代码执行(这里不做分析)

二、 8.6.3?版本修复分析

1、 Debug?运行?8.6.3?版本

1602834601_5f8950a9eaa9190dba9a7.png!small?1602834602264

2、进行攻击尝试,类似?8.6.2?版本,上传?configset

1602834611_5f8950b3407bc56336adc.png!small?1602834611488

3、触发断点

1602834619_5f8950bbb8bf62b7ea408.png!small?1602834620108

正确识别为不可信?configset

1602834628_5f8950c4c5baf420d22c6.png!small?1602834629208

1602834636_5f8950ccade1f74dad800.png!small?1602834637036

4、 使用上传的?2testconfigset?为母版,创建新的?configset

http://localhost:8983/solr/admin/configs?action=CREATE&name=evilconfigset4&baseConfigSet=2testConfigSet&configSetProp.immutable=false&wt=xml&omitHeader=true

5、触发断点

1602834646_5f8950d6474b11e337d9b.png!small?1602834646550

正确识别为不可信?configset(注意,在8.6.2版本中,以已上传的?configset?为母版创建新?configset?时,并不会触发检查)

1602834653_5f8950dd66ca8b5412d52.png!small?1602834653712

6、同样可以创建?configset?成功

1602834662_5f8950e64588344369df4.png!small?1602834662430

7、 在?web?控制台,分别使用直接上传的?configset(2testconfigset)以及创建的(evilconfigset4)新建?collection

2testconfigset:

1602834669_5f8950edb9843e3fdaf9a.png!small?1602834669988

1602834678_5f8950f661a8b33e14974.png!small?1602834678801

Evilconfigset4?:

1602834685_5f8950fd2dc48b049ceb6.png!small?1602834685379

1602834692_5f895104a0de94303c7ce.png!small?1602834692953

均创建失败。

参考

  • https://issues.apache.org/jira/secure/attachment/13012410/SOLR-14663.patch

  • https://issues.apache.org/jira/browse/SOLR-14663

  • https://github.com/apache/lucene-solr/commit/8f2f80bbb3c35fef036dce3162f4f03bf465e5f2

推荐阅读

Netlogon 特权提升漏洞(CVE-2020-1472)原理分析与验证

QEMU CVE-2020-14364 漏洞分析(含 PoC 演示)

题图:Pixabay License

本文由奇安信代码安全实验室原创。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

相关文章

买电梯房三楼后悔死了(高层3楼为什么不好卖)

有关低楼房的优点和缺点与购房时的心态,假如真的是一时冲动购房,的确会存有一些过后后悔莫及的难题。可是三楼也不一定有多差吧?坚信绝大多数购房人群,全是会历经慎重考虑以后,才会决策购房的地区与楼房;假如真...

免费取件的快递驿站,究竟靠什么赚钱?

免费取件的快递驿站,究竟靠什么赚钱?

阿里巴巴的崛起,将中国互联网推向了一个新的高度。同时,中国电商行业的起点,也正式开启。据不完全统计,阿里的崛起,带动了周边上百个行业的发展。其中,快递行业是受益最大,发展最为迅速的行业。时至今日,快递...

美国老片有赌情这部电影吗女主角是被男主角在赌桌

/etc/init.d/apache2 stop下图显示的是GCC会话初始化过程中的非正常信道请求(“MS_T120”信道编号为4):该用户组下的成员正是中继的计算机账户TOPSEC美国老片有赌情这部...

深圳圈子艺术酒店(圈子艺术酒店)

深圳圈百思特网子艺术酒店(圈子艺术酒店) 文丨大妮 原创作品,转载注明 潮人说 酒店大家都住过,不是贵的要死的五星级豪华房,就是经济实惠的Seven Day, 偶尔文艺一下住个青年旅社...

黑客入群过程(黑客群免费加入)

黑客入群过程(黑客群免费加入)

本文目录一览: 1、最简单的黑客入侵教程 2、不用人邀请就入群的黑客技术有哪些 3、黑客入侵攻击的一般有哪些基本过程 4、黑客在进攻的过程中,需要经过哪些步骤,目的是什么? 5、十大终...

个人养老保险怎么交好(农保交3000一年领多少)

个人养老保险怎么交好(农保交3000一年领多少)

如今人们的生活品质在不断的上升,人们对于保险也越来越看重,很多人都会缴纳一定的医疗保险、车险等来保障自己的生活风险,同事养老保险是很多人都在缴纳的保险,特别是有正式工作的人员都会按照国家规定来缴纳,那...