VDB
KO
HIGH

GHSA-3m4q-ggcj-j6m4

Calico Inserts Sensitive Information into Log File

Details

When calicoctl is invoked with --log-level=info or --log-level=debug, the client prints the full contents of its loaded connection-configuration struct to stderr in a single log line. The struct embeds every credential calicoctl uses to talk to the cluster — inline kubeconfig (with bearer token), Kubernetes API bearer token, etcd password, and inline PEM-encoded etcd client certificate and key. Any reader of that stderr stream — CI job logs, session-recording archives, shared support-ticket transcripts, or local filesystem viewers on the host that ran calicoctl — can extract these credentials with zero Kubernetes privilege. calicoctl's default log level is panic, so this issue only triggers when verbose logging is explicitly enabled.

Are you affected?

Enter the version of the package you're using.

Affected packages

Go / github.com/projectcalico/calicoctl/v3
Introduced in: 0 Fixed in: 3.31.6
Fix go get github.com/projectcalico/calicoctl/v3@v3.31.6

References