漏洞描述
exporter-toolkit 是 Prometheus 的导出工具包,
exporter-toolkit 为减少使用 bcrypt 哈希验证用户身份所需要的时间和资源,从而采用缓存 cacheKey = hex(username + hashed password + input password)验证用户身份信息。为了避免侧信道攻击,对于缓存中不存在的用户(validUser)采用固定 hashed password 进行缓存验证。
攻击者在已知散列密码(hashed password)的情况下可通过毒化缓存进行身份绕过:
- 发动请求毒化缓存:
username = username+hashed password
password = "fakepassword"
- 身份绕过:
username = username
password = bcrypt(fakepassword)+"fakepassword"
Prometheus 是一个开源的系统和服务监控系统,目前在 GitHub 具有 45.7k stars,Prometheus 在 2.37.4 和 2.40.4 之前的版本中受此漏洞影响。
漏洞名称 | exporter-toolkit 存在身份验证绕过漏洞 |
---|---|
漏洞类型 | 认证算法的不正确实现 |
发现时间 | 2022-11-30 |
漏洞影响广度 | 小 |
MPS编号 | MPS-2022-65539 |
CVE编号 | CVE-2022-46146 |
CNVD编号 | - |
影响范围
github.com/prometheus/exporter-toolkit@(-∞, 0.7.2)
github.com/prometheus/exporter-toolkit@[0.8.0, 0.8.2)
修复方案
升级github.com/prometheus/exporter-toolkit到 0.7.2 或 0.8.2 或更高版本
参考链接
https://www.oscs1024.com/hd/MPS-2022-65539
https://github.com/prometheus/exporter-toolkit/security/advisories/GHSA-7rg2-cxvp-9p7p
https://github.com/prometheus/exporter-toolkit/commit/5b1eab34484ddd353986bce736cd119d863e4ff5
https://nvd.nist.gov/vuln/detail/CVE-2022-46146
情报订阅
OSCS(开源软件供应链安全社区)通过最快、最全的方式,发布开源项目最新的安全风险动态,包括开源组件安全漏洞、事件等信息。同时提供漏洞、投毒情报的免费订阅服务,社区用户可通过配置飞书、钉钉、企业微信机器人,及时获得一手情报信息推送:
https://www.oscs1024.com/cm/?src=osc
具体订阅方式详见: