argo-cd: Insertion of Sensitive Information into Log File
CVE-2023-40029 is a critical-severity insertion of sensitive information into log file vulnerability in argo-cd from Argoproj, with a CVSS 3.1 base score of 9.6 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 argo-cd versions: >= 2.2.0, < 2.6.15; >= 2.7.0, < 2.7.14; >= 2.8.0, < 2.8.3. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 1.2% chance of exploitation within 30 days, higher than 69% of scored CVEs.
Critical severity: a successful attack would have severe impact.
What to do
- Check which version of argo-cd 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 |
|---|---|---|---|
| Argoproj | argo-cd | >= 2.2.0, < 2.6.15; >= 2.7.0, < 2.7.14; >= 2.8.0, < 2.8.3 | 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
- ChangedThe attack can reach beyond the vulnerable component into other systems.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- NoneAvailability is not affected.
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N. Scored by NVD.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 9.9 | Critical | CNA (github.com) |
| CVSS 3.1 | 9.6 | Critical | NVD |
Official description
Argo CD is a declarative continuous deployment for Kubernetes. Argo CD Cluster secrets might be managed declaratively using Argo CD / kubectl apply. As a result, the full secret body is stored in`kubectl.kubernetes.io/last-applied-configuration` annotation. pull request #7139 introduced the ability to manage cluster labels and annotations. Since clusters are stored as secrets it also exposes the `kubectl.kubernetes.io/last-applied-configuration` annotation which includes full secret body. In order to view the cluster annotations via the Argo CD API, the user must have `clusters, get` RBAC access. **Note:** In many cases, cluster secrets do not contain any actually-secret information. But sometimes, as in bearer-token auth, the contents might be very sensitive. The bug has been patched in versions 2.8.3, 2.7.14, and 2.6.15. Users are advised to upgrade. Users unable to upgrade should update/deploy cluster secret with `server-side-apply` flag which does not use or rely on `kubectl.kubernetes.io/last-applied-configuration` annotation. Note: annotation for existing secrets will require manual removal.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Insertion of Sensitive Information into Log File
The product writes sensitive information to a log file.
How developers prevent this class of flaw
- Consider seriously the sensitivity of the information written into log files. Do not write secrets into the log files.
- Remove debug log files before deploying the application into production.
- Protect log files against unauthorized read/write.
More Insertion of Sensitive Information into Log File vulnerabilities (CWE-532)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: poc, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
Patches and release notes
Other vulnerabilities in argo-cd
- 9.9 Critical severity
- 9.9 Critical severity
- 9.9 Critical severity
- 9.9 Critical severity
- 8.8 High severity
- 8.7 High severity
Recent Insertion of Sensitive Information into Log File vulnerabilities
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 7.5 High severity
- 8.8 High severity
- 7.5 High severity
Spotted an error? Tell us.