CVE-2023-34236
Information Disclosure Vulnerability in Weave GitOps Terraform Controller
In short
Weave GitOps Terraform Controller inadvertently exposes sensitive information like configurations and tokens in pod logs, allowing authenticated attackers to view data that could be used to gain unauthorized access to managed resources.
Technical detail
An authenticated remote attacker can access sensitive data printed to pod logs by tfexec functions (ShowPlan, ShowPlanRaw, Output) when Stdout/Stderr are set to os.Stdout/os.Stderr. This information disclosure vulnerability allows potential extraction of credentials and configurations for lateral movement or unauthorized resource control. Fixed in versions v0.14.4 and v0.15.0-rc.5.
Summary generated and translated by AI from the official description.
Weave GitOps Terraform Controller (aka Weave TF-controller) is a controller for Flux to reconcile Terraform resources in a GitOps way. A vulnerability has been identified in Weave GitOps Terraform Controller which could allow an authenticated remote attacker to view sensitive information. This vulnerability stems from Weave GitOps Terraform Runners (`tf-runner`), where sensitive data is inadvertently printed - potentially revealing sensitive user data in their pod logs. In particular, functions `tfexec.ShowPlan`, `tfexec.ShowPlanRaw`, and `tfexec.Output` are implicated when the `tfexec` object set its `Stdout` and `Stderr` to be `os.Stdout` and `os.Stderr`. An unauthorized remote attacker could exploit this vulnerability by accessing these prints of sensitive information, which may contain configurations or tokens that could be used to gain unauthorized control or access to resources managed by the Terraform controller. A successful exploit could allow the attacker to utilize this sensitive data, potentially leading to unauthorized access or control of the system. This vulnerability has been addressed in Weave GitOps Terraform Controller versions `v0.14.4` and `v0.15.0-rc.5`. Users are urged to upgrade to one of these versions to mitigate the vulnerability. As a temporary measure until the patch can be applied, users can add the environment variable `DISABLE_TF_LOGS` to the tf-runners via the runner pod template of the Terraform Custom Resource. This will prevent the logging of sensitive information and mitigate the risk of this vulnerability.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N
Affected products
weaveworks · tf-controllerWant to know if your infrastructure is exposed to this?
Talk to TrueHacking →References
https://github.com/weaveworks/tf-controller/commit/28282bc644054e157c3b9a3d38f1f9551ce09074https://github.com/weaveworks/tf-controller/commit/6323b355bd7f5d2ce85d0244fe0883af3881df4ehttps://github.com/weaveworks/tf-controller/commit/9708fda28ccd0466cb0a8fd409854ab4d92f7dcahttps://github.com/weaveworks/tf-controller/commit/98a0688036e9dbcf43fa84960d9a1ef3e09a69cfhttps://github.com/weaveworks/tf-controller/issues/637https://github.com/weaveworks/tf-controller/issues/649https://github.com/weaveworks/tf-controller/security/advisories/GHSA-6hvv-j432-23cv