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.
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Gitops_terraform_controller | Weave | * | 0.14.4 (excluding) |
Gitops_terraform_controller | Weave | 0.15.0-rc1 (including) | 0.15.0-rc1 (including) |
Gitops_terraform_controller | Weave | 0.15.0-rc2 (including) | 0.15.0-rc2 (including) |
Gitops_terraform_controller | Weave | 0.15.0-rc3 (including) | 0.15.0-rc3 (including) |
Gitops_terraform_controller | Weave | 0.15.0-rc4 (including) | 0.15.0-rc4 (including) |
There are many different kinds of mistakes that introduce information exposures. The severity of the error can range widely, depending on the context in which the product operates, the type of sensitive information that is revealed, and the benefits it may provide to an attacker. Some kinds of sensitive information include:
Information might be sensitive to different parties, each of which may have their own expectations for whether the information should be protected. These parties include:
Information exposures can occur in different ways:
It is common practice to describe any loss of confidentiality as an “information exposure,” but this can lead to overuse of CWE-200 in CWE mapping. From the CWE perspective, loss of confidentiality is a technical impact that can arise from dozens of different weaknesses, such as insecure file permissions or out-of-bounds read. CWE-200 and its lower-level descendants are intended to cover the mistakes that occur in behaviors that explicitly manage, store, transfer, or cleanse sensitive information.