漏洞名称 : OpenTSDB远程代码执行漏洞(CVE-2020-35476)
威胁等级 : 高危
影响范围 : OpenTSDB 2.4.0及更低版本
漏洞类型 : 远程代码执行
利用难度 : 简单
1.OpenTSDB 介绍
OpenTSDB是一个基于HBase的分布式、可伸缩的开源时序数据库。OpenTSDB由TSD(Time Series Daemon)和一系列命令行工具组成。 TSD用于接收用户请求并将时序数据存储在HBase中。TSD之间是相互独立的,没有master,也没有共享状态,因此可以根据系统的负载情况任意进行扩展。 OpenTSDB的主要用途是做监控系统;譬如收集大规模集群(包括网络设备、操作系统、应用程序)的监控数据并进行存储,查询。2. 漏洞描述
OpenTSDB 2.4.0及更低版本参数中存在远程执行代码漏洞(其他参数可能也容易受到攻击),远程攻击者通过此参数,执行精心构造的任意代码。 当通过yrange参数传递有效负载时,会将其写入/tmp目录中的gnuplot文件,然后由OpenTSDB通过/src/mygnuplot.sh 脚本执行gnuplot文件。 虽然/src/tsd/GraphHandler.java通过过滤反引号来阻止命令注入,但是还是能够绕过,将命令写入gnuplot文件3 漏洞复现
访问OpenTSDB服务器的接口,传入构造的参数,将命令写入gnuplot文件。 目前厂商还未发布升级补丁修复漏洞,请受影响用户及时关注更新官方补丁。官方链接如下:https://github.com/OpenTSDB/opentsdb/releases