CVE-2021-41090 json
Instance config inline secret exposure
published 4y ago modified 4mo ago also GHSA-9c4x-5hgq-q3wh , GO-2022-0305 , EUVD-2021-2493
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
Grafana Agent is a telemetry collector for sending metrics, logs, and trace data to the opinionated Grafana observability stack. Prior to versions 0.20.1 and 0.21.2, inline secrets defined within a metrics instance config are exposed in plaintext over two endpoints: metrics instance configs defined in the base YAML file are exposed at `/-/config` and metrics instance configs defined for the scraping service are exposed at `/agent/api/v1/configs/:key`. Inline secrets will be exposed to anyone being able to reach these endpoints. If HTTPS with client authentication is not configured, these endpoints are accessible to unauthenticated users. Secrets found in these sections are used for delivering metrics to a Prometheus Remote Write system, authenticating against a system for discovering Prometheus targets, and authenticating against a system for collecting metrics. This does not apply for non-inlined secrets, such as `*_file` based secrets. This issue is patched in Grafana Agent versions 0.20.1 and 0.21.2. A few workarounds are available. Users who cannot upgrade should use non-inline secrets where possible. Users may also desire to restrict API access to Grafana Agent with some combination of restricting the network interfaces Grafana Agent listens on through `http_listen_address` in the `server` block, configuring Grafana Agent to use HTTPS with client authentication, and/or using firewall rules to restrict external access to Grafana Agent's API.
Patch / fix
- go github.com/grafana/agent 0.21.2
- grafana agent 0.20.1, 0.21.2
- grafana-agent Arch Linux 0.21.2-1
arch linux advisories AVG-2614
- github.com/grafana/agent@af7fb01 commit
- github.com/grafana/agent@a547975 commit
- github.com/grafana/agent#1152 pull request
- github.com/grafana/agent/releases/tag/v0.20.1 release
- github.com/grafana/agent/releases/tag/v0.21.2 release
Is CVE-2021-41090 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
0.76% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:P/I:N/A:N |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/grafana/agent | >=0.14.0, <0.21.2 |
0.21.2 |
Affected products
- grafana agent
Classification
References
-
github.com
/grafana/agent/pull/1152
web, patch, third-party-advisory
-
github.com
/grafana/agent/commit/af7fb01e31fe2d389e5f1c36b399ddc46b412b21
web, patch, third-party-advisory
-
github.com
/grafana/agent/commit/a5479755e946e5c7cddb793ee9adda8f5692ba11
web, patch
-
github.com
/grafana/agent/security/advisories/GHSA-9c4x-5hgq-q3wh
web, third-party-advisory, advisory
-
github.com
/grafana/agent/releases/tag/v0.20.1
web, release-notes, third-party-advisory
-
github.com
/grafana/agent/releases/tag/v0.21.2
web, release-notes, third-party-advisory
-
security.netapp.com
/advisory/ntap-20211229-0004/
third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-41090
advisory
-
github.com
/grafana/agent
package
-
security.netapp.com
/advisory/ntap-20211229-0004
web
Sources
- CVE List CVE-2021-41090
- GitHub Advisory GHSA-9c4x-5hgq-q3wh
- NVD CVE-2021-41090
- OSV GO-2022-0305
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.