{"id":"CVE-2026-6720","state":"PUBLISHED","title":"Calicoctl leaks cluster credentials to stderr when verbose logging is enabled","description":"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.","publishedAt":"2026-05-28T15:47:42.519Z","updatedAt":"2026-05-28T17:04:11.659Z","severity":{"score":7.2,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H","source":"Tigera"},"assigner":"Tigera","products":["Tigera Calico","Tigera Calico Enterprise","Tigera Calico Cloud"],"affected":[{"vendor":"Tigera","product":"Calico","defaultStatus":"affected","versions":[{"version":"0","status":"affected","lessThan":"3.32.0","versionType":"semver"}]},{"vendor":"Tigera","product":"Calico Enterprise","defaultStatus":"affected","versions":[{"version":"0","status":"affected","lessThan":"3.21.7","versionType":"semver"},{"version":"3.22.3","status":"unaffected","versionType":"semver"}]},{"vendor":"Tigera","product":"Calico Cloud","defaultStatus":"affected","versions":[{"version":"0","status":"affected","lessThan":"22.4.0","versionType":"semver"}]}],"references":["https://github.com/projectcalico/calico/pull/12535","https://github.com/projectcalico/calico/pull/12536","https://github.com/projectcalico/calico/pull/12537","https://www.tigera.io/security-bulletins/tta-2026-003/"],"weaknesses":["CWE-532"],"ingestedAt":"2026-10-29T20:12:49.727Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/6xxx/CVE-2026-6720.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-6720","state":"PUBLISHED","datePublished":"2026-05-28T15:47:42.519Z","dateUpdated":"2026-05-28T17:04:11.659Z","assignerShortName":"Tigera","assignerOrgId":"e6d453f4-3dae-4941-bcea-9af25f4e824d","dateReserved":"2026-04-20T19:31:31.065Z"},"containers":{"cna":{"title":"Calicoctl leaks cluster credentials to stderr when verbose logging is enabled","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"Tigera","product":"Calico","defaultStatus":"affected","versions":[{"version":"0","status":"affected","lessThan":"3.32.0","versionType":"semver"}]},{"vendor":"Tigera","product":"Calico Enterprise","defaultStatus":"affected","versions":[{"version":"0","status":"affected","lessThan":"3.21.7","versionType":"semver"},{"version":"3.22.3","status":"unaffected","versionType":"semver"}]},{"vendor":"Tigera","product":"Calico Cloud","defaultStatus":"affected","versions":[{"version":"0","status":"affected","lessThan":"22.4.0","versionType":"semver"}]}],"references":[{"url":"https://github.com/projectcalico/calico/pull/12535","tags":["patch"]},{"url":"https://github.com/projectcalico/calico/pull/12536","tags":["patch"]},{"url":"https://github.com/projectcalico/calico/pull/12537","tags":["patch"]},{"url":"https://www.tigera.io/security-bulletins/tta-2026-003/","tags":["vendor-advisory"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"PASSIVE","vulnConfidentialityImpact":"HIGH","subConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","subIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"HIGH","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"HIGH","baseScore":7.2,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-532","lang":"en","description":"CWE-532","type":"CWE"}]}],"providerMetadata":{"shortName":"Tigera","orgId":"e6d453f4-3dae-4941-bcea-9af25f4e824d","dateUpdated":"2026-05-28T15:47:42.519Z"},"datePublic":"2026-05-28T16:00:00.000Z","impacts":[{"capecId":"CAPEC-150","descriptions":[{"lang":"en","value":"CAPEC-150 Collect Data from Common Resource Locations"}]}],"cpeApplicability":[{"operator":"OR","nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:tigera:calico:*:*:*:*:*:*:*:*","versionStartIncluding":"0","versionEndExcluding":"3.32.0"}]},{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:tigera:calico_enterprise:*:*:*:*:*:*:*:*","versionStartIncluding":"0","versionEndExcluding":"3.21.7"},{"vulnerable":false,"criteria":"cpe:2.3:a:tigera:calico_enterprise:3.22.3:*:*:*:*:*:*:*"}]},{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:tigera:calico_cloud:*:*:*:*:*:*:*:*","versionStartIncluding":"0","versionEndExcluding":"22.4.0"}]}]}],"credits":[{"lang":"en","value":"Behnam Shobiri","type":"finder"},{"lang":"en","value":"Behnam Shobiri","type":"remediation developer"},{"lang":"en","value":"Anthony Tam","type":"remediation verifier"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 1.0.2"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-05-28T17:04:05.727153Z","id":"CVE-2026-6720","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-05-28T17:04:11.659Z"}}]}}}