CVE-2023-34236

8.5 HIGH

📋 TL;DR

This vulnerability in Weave GitOps Terraform Controller allows authenticated remote attackers to view sensitive information like configurations and tokens in pod logs. It affects users running vulnerable versions of the controller, potentially exposing credentials and secrets used in Terraform operations. The issue stems from improper logging of sensitive data in tf-runner components.

💻 Affected Systems

Products:
  • Weave GitOps Terraform Controller (tf-controller)
Versions: Versions before v0.14.4 and v0.15.0-rc.5
Operating Systems: Any OS running Kubernetes/container environments
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all deployments using vulnerable versions; requires tf-runner pods to be running.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers gain full control of infrastructure managed by Terraform, leading to data breaches, resource hijacking, or complete system compromise.

🟠

Likely Case

Sensitive credentials and configuration data are exposed, enabling unauthorized access to cloud resources or internal systems.

🟢

If Mitigated

With proper access controls and logging restrictions, impact is limited to authorized users who already have pod log access.

🌐 Internet-Facing: MEDIUM - Requires authenticated access to pod logs, but exposed logs could be accessed if misconfigured.
🏢 Internal Only: HIGH - Internal attackers with pod log access can easily extract sensitive credentials and tokens.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to pod logs, which typically requires authenticated access to Kubernetes cluster or exposed logging endpoints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v0.14.4 or v0.15.0-rc.5

Vendor Advisory: https://github.com/weaveworks/tf-controller/security/advisories

Restart Required: Yes

Instructions:

1. Identify current tf-controller version. 2. Update to v0.14.4 or v0.15.0-rc.5 via Helm or direct deployment. 3. Restart tf-runner pods to apply changes.

🔧 Temporary Workarounds

Disable Terraform Logs

all

Add environment variable to prevent sensitive data logging in tf-runner pods

Add DISABLE_TF_LOGS=true to tf-runner pod template in Terraform Custom Resource

🧯 If You Can't Patch

  • Restrict access to pod logs using Kubernetes RBAC and network policies
  • Implement log filtering or redaction at the logging layer to mask sensitive data

🔍 How to Verify

Check if Vulnerable:

Check tf-controller version and verify if below v0.14.4 or v0.15.0-rc.5

Check Version:

kubectl get deployment tf-controller -o jsonpath='{.spec.template.spec.containers[0].image}'

Verify Fix Applied:

Confirm version is v0.14.4 or higher, and check tf-runner pod logs no longer contain sensitive Terraform output

📡 Detection & Monitoring

Log Indicators:

  • Sensitive Terraform output in tf-runner pod logs
  • Credentials, tokens, or configuration data in stdout/stderr

Network Indicators:

  • Unauthorized access to pod log endpoints
  • Unusual log retrieval patterns

SIEM Query:

source="kubernetes" AND pod_name="*tf-runner*" AND (message="*secret*" OR message="*token*" OR message="*password*" OR message="*credential*")

🔗 References

📤 Share & Export