CVE-2021-43798 Grafana未授权任意文件读取漏洞复现

一、概要

  安全研究人员披露Grafana存在一处任意文件读取0day漏洞(CVE-2021-43798),攻击者可以通过构造恶意请求触发该漏洞,造成在未经身份认证的情况下可读取目标主机上的任意文件。
  Grafana是一个跨平台、开源的数据可视化网络应用程序平台。用户配置连接的数据源之后,Grafana可以在网络浏览器里显示数据图表和警告。 此漏洞,可能通过默认存在的插件来拼接文件路径构造请求进行文件读取,有极高的风险。

二、威胁级别

威胁级别:【严重】
(说明:威胁级别共四级:一般、重要、严重、紧急)

三、漏洞影响范围

影响版本:Grafana 8.0.0 - 8.3.0
安全版本:Grafana 8.3.1, 8.2.7, 8.1.8, 8.0.7

四、复现过程

1、通过docker拉取镜像部署靶机

docker pull grafana/grafana:8.2.6-ubuntu
docker run --rm -d -p 3000:3000 grafana/grafana:8.2.6-ubuntu

访问: http://ip:3000

2、使用批量检测脚本检测

1) 下载程序
git clone https://hub.fastgit.org/culprits/Grafana_POC-CVE-2021-43798.git
cd Grafana_POC-CVE-2021-43798/
2) 编辑doamin.txt文件,填入 ip:port
3) 扫描:
python3 grafana_hole.py
4) 直接在浏览器访问会被重定向,使用Burpsuit即可。
5) 读取主机上其它文件,比如 /usr/share/grafana/ README.md

五、漏洞处置

目前官方已发布新版本修复了该漏洞,请受影响的用户升级到安全版本:
若无法及时更新的用户,可参考如下建议进行临时规避:
1、设置Grafana仅对可信地址开放,即白名单访问;
2、如无必要,禁止系统对公网开放。