安全公告:PMM中通过Grafana数据源实现ClickHouse特权访问
内容提要
Percona发布安全公告,指出PMM 3.9.0及以下版本存在高危漏洞。攻击者可利用Grafana的ClickHouse数据源执行任意SQL,访问内部数据库、AWS元数据及S3远程状态,甚至获取管理员权限。建议升级至3.9.1,或运行脚本创建最小权限用户以缓解风险。
延伸解读
漏洞利用链分析
该漏洞并非单一缺陷,而是多个条件串联形成的攻击链。攻击者首先通过Grafana的ClickHouse数据源执行任意SQL,利用默认身份的高权限(全局DDL、DML、SOURCES权限)发起出站HTTP请求,进而访问AWS IMDSv1获取临时凭证,再读取S3上的Terraform远程状态文件,最终获得管理员权限。整个链条依赖匿名访问启用(默认关闭)和PMM运行在AWS EC2上,但任意SQL执行本身影响所有部署。
风险缓解与升级建议
Percona提供了临时缓解措施:运行脚本创建最小权限的ClickHouse用户,并让Grafana数据源使用该用户,从而阻断利用路径。但永久修复是升级到PMM 3.9.1。在升级前,务必备份PMM Server和pmm-data卷。对于无法立即升级的用户,建议优先应用脚本,并评估部署环境是否满足攻击链条件(如匿名访问是否启用、是否使用IMDSv1)。
影响范围与配置注意事项
漏洞影响PMM 3.9.0及以下版本,严重程度为高。所有部署都受任意SQL执行影响,但完整攻击链(获取云凭证和远程状态)需要特定配置:匿名访问启用(默认关闭)且PMM Server运行在AWS EC2上并启用IMDSv1。因此,用户应检查自身部署是否满足这些条件,并考虑禁用匿名访问或升级IMDS版本以降低风险。
Q&A
PMM中通过Grafana数据源实现ClickHouse特权访问的安全漏洞是什么?
该漏洞允许已登录用户(包括Viewer角色)通过Grafana的ClickHouse数据源提交任意SQL,因为数据源以默认超级用户身份连接ClickHouse,拥有全局DDL、DML和SOURCES权限,并能发起出站HTTP请求。攻击者可利用此漏洞访问内部数据库、AWS元数据、S3远程状态,甚至获取管理员权限。
哪些PMM版本受此漏洞影响?
受影响的版本是PMM 3.9.0及以下版本。
此漏洞的严重性等级是什么?
该漏洞的严重性等级为高危(High)。
攻击者如何利用此漏洞获取管理员权限?
攻击者通过Grafana的ClickHouse数据源提交任意SQL,利用ClickHouse默认用户的权限,可以访问AWS IMDSv1获取EC2角色会话,读取S3中的Terraform远程状态文件,并最终认证为PMM/Grafana管理员。
此漏洞的利用条件是什么?
利用此漏洞需要满足以下条件:1) 攻击者必须能够访问Grafana(已登录用户或启用了匿名访问);2) 匿名访问默认关闭,但若启用,未认证用户也可利用;3) 完整的IMDS到凭证链需要PMM服务器运行在AWS EC2上且启用IMDSv1。
如何修复此漏洞?
修复方法有两种:1) 升级到PMM 3.9.1版本(计划于2026年8月19日发布);2) 如果无法立即升级,可以运行Percona提供的脚本,该脚本会创建一个最小权限的ClickHouse用户供Grafana使用,并替换默认超级用户,从而消除漏洞利用路径。
运行缓解脚本前需要做什么准备?
在运行脚本之前,需要备份PMM服务器并保存pmm-data卷。
此漏洞可能造成哪些影响?
攻击者可以利用此漏洞访问内部数据库、AWS实例元数据、S3远程状态,并获取管理员账户,从而获得可续期的云凭证和包含大量秘密及基础设施细节的远程状态文件。影响程度取决于部署配置。