项目介绍
Apache IoTDB 是针对时间序列数据收集、存储与分析一体化的数据管理引擎。它具有体量轻、性能高、易使用的特点,完美对接 Hadoop 与 Spark 生态,适用于工业物联网应用中海量时间序列数据高速写入和复杂分析查询的需求。
Grafana 是开源的指标量监测和可视化工具,可用于展示时序数据和应用程序运行分析。Grafana 支持 Graphite,InfluxDB 等国际主流时序数据库作为数据源。在 IoTDB 项目中,开发了 Grafana 展现 IoTDB 中时序数据的连接器 IoTDB-Grafana-Connector,为您提供使用 Grafana 展示 IoTDB 数据库中的时序数据的可视化方法。
项目地址
https://iotdb.apache.org/
漏洞概述
在Apache IoTDB grafana-connector 0.13.0 版本中DatabaseConnectController存在未授权漏洞,攻击者可以未授权访问/query、/search接口,进而通过web服务可能会获取数据库的内部结构。
影响版本
0.13.0
漏洞复现
漏洞分析
在下面接口中,没有鉴权操作,造成可未授权访问
org.apache.iotdb.web.grafana.controller.DatabaseConnectController
泄露了数据库结构信息
未授权查询
官方修复方式如下,添加了拦截器对所有请求进行权限校验
根据authorization请求头中的账号密码判断是否有权限访问
修复方式
升级org.apache.iotdb:iotdb-grafana-connector到 0.13.1 或更高版本
参考链接
https://lists.apache.org/thread/kcpqgstvgf8sxy9ktxm1836nlwc8xy3j
https://github.com/apache/iotdb/commit/9f2e48b9b18e7efe6e774d38bdaf38c060eef61f
https://nvd.nist.gov/vuln/detail/CVE-2022-38370