exporter-toolkit: Improper Authentication
CVE-2022-46146 is a high-severity improper authentication vulnerability in exporter-toolkit from Prometheus, with a CVSS 3.1 base score of 8.8 out of 10. It can be exploited remotely over the network by an attacker with a low-privileged account, without any action from a user. Affected exporter-toolkit versions: < 0.7.2; >= 0.8.0, < 0.8.2. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 1.29% chance of exploitation within 30 days, higher than 71% of scored CVEs.
High severity with no evidence of exploitation so far.
What to do
- Check which version of exporter-toolkit you run against the affected versions below, and install the vendor's latest release.
- Read the advisory on github.com for workarounds and exact fixed builds.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Prometheus | exporter-toolkit | < 0.7.2; >= 0.8.0, < 0.8.2 | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 6.2 | Medium | CNA (github.com) |
| CVSS 3.1 | 8.8 | High | NVD |
Official description
Prometheus Exporter Toolkit is a utility package to build exporters. Prior to versions 0.7.2 and 0.8.2, if someone has access to a Prometheus web.yml file and users' bcrypted passwords, they can bypass security by poisoning the built-in authentication cache. Versions 0.7.2 and 0.8.2 contain a fix for the issue. There is no workaround, but attacker must have access to the hashed password to use this functionality.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Authentication
When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.
How developers prevent this class of flaw
- Use an authentication framework or library such as the OWASP ESAPI Authentication feature.
Timeline
- CVE record published.
- Record last changed materially (score, affected products, status or references).
References
Advisories
- github.com/prometheus/exporter-toolkit/security/advisories/GHSA-7rg2-cxvp-9p7pThird Party Advisory
Patches and release notes
- openwall.com/lists/oss-security/2022/11/29/2Exploit, Mailing List, Third Party Advisory
- openwall.com/lists/oss-security/2022/11/29/4Exploit, Mailing List, Third Party Advisory
- github.com/prometheus/exporter-toolkit/commit/5b1eab34484ddd353986bce736cd119d863e4ff5Third Party Advisory
Technical write-ups (may include proof of concept)
- openwall.com/lists/oss-security/2022/11/29/1Exploit, Mailing List, Third Party Advisory
Other references
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/JRSHISR64L6QGSMDFZDN…
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/UH24VXIB25OGHF4VGY4P…
- lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ULVDTAI76VATRAHTKCE2…
- security.gentoo.org/glsa/202401-15
Recent Improper Authentication vulnerabilities
- 9.8 Critical severity
- 7.8 High severity
- 7.5 High severity
- 9.8 Critical severity
- 9.8 Critical severity
- 7.8 High severity
Spotted an error? Tell us.