2020年5月22日,CNVD通报了 Apache Kylin存在命令注入漏洞 CVE-2020-1956
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
docker pull apachekylin/apache-kylin-standalone:3.0.1
docker run -d \\
-m 8G \\
-p 7070:7070 \\
-p 8088:8088 \\
-p 50070:50070 \\
-p 8032:8032 \\
-p 8042:8042 \\
-p 16010:16010 \\
apachekylin/apache-kylin-standalone:3.0.1
打开后使用默认账号密码admin/KYLIN登录,出现初始界面即为成功
查看这个漏洞修复的补丁
这里可以看到此漏洞有关的参数有三个,分别是 srcCfgUri
、dstCfgUri
、projectName
, 相关的函数为 migrateCube
官方文档中对 migrateCube
的描述
POST /kylin/api/cubes/{cube}/{project}/migrate
下载 Apache Kylin 3.0.1 的源代码进行代码审计,出现漏洞函数的文件为以下路径
apache-kylin-3.0.1\\server-base\\src\\main\\java\\org\\apache\\kylin\\rest\\service\\CubeService.java
找到migrateCube
函数