{"api_version":"1","generated_at":"2026-05-28T21:06:39+00:00","cve":"CVE-2026-41185","urls":{"html":"https://cve.report/CVE-2026-41185","api":"https://cve.report/api/cve/CVE-2026-41185.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-41185","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-41185"},"summary":{"title":"ServiceAccount token disclosure via Azure IPAM CNI plugin logs","description":"When Calico is configured with the Azure IPAM plugin, the Calico CNI binary mutates the incoming CNI configuration to attach subnet information before delegating to the IPAM plugin. After mutating, the Azure IPAM helper logs the entire unmarshaled configuration map (stdinData) at INFO level to /var/log/calico/cni/cni.log on every CNI ADD and DEL invocation — once per pod scheduled or terminated on the node. When the cluster is deployed using token-based Kubernetes authentication, this log entry contains the ServiceAccount token, client key, and certificate authority in plaintext. Any principal with read access to /var/log/calico/cni/cni.log on a node  can read these logs and extract the credentials, which grant cluster-wide Calico networking admin privileges.","state":"PUBLISHED","assigner":"Tigera","published_at":"2026-05-28 17:16:22","updated_at":"2026-05-28 18:55:06"},"problem_types":["CWE-532","CWE-532 CWE-532 Insertion of sensitive information into log file"],"metrics":[{"version":"4.0","source":"psirt@tigera.io","type":"Secondary","score":"6","severity":"MEDIUM","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","data":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":6,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"LOW","subIntegrityImpact":"LOW","subAvailabilityImpact":"LOW","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}},{"version":"4.0","source":"CNA","type":"CVSS","score":"6","severity":"MEDIUM","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:L/SA:L","data":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":6,"baseSeverity":"MEDIUM","exploitMaturity":"NOT_DEFINED","privilegesRequired":"LOW","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"LOW","subConfidentialityImpact":"LOW","subIntegrityImpact":"LOW","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:L/SA:L","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnerabilityResponseEffort":"NOT_DEFINED"}}],"references":[{"url":"https://github.com/projectcalico/calico/pull/12526","name":"https://github.com/projectcalico/calico/pull/12526","refsource":"psirt@tigera.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/projectcalico/calico/pull/12502","name":"https://github.com/projectcalico/calico/pull/12502","refsource":"psirt@tigera.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/projectcalico/calico/pull/12527","name":"https://github.com/projectcalico/calico/pull/12527","refsource":"psirt@tigera.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.tigera.io/security-bulletins/tta-2026-002/","name":"https://www.tigera.io/security-bulletins/tta-2026-002/","refsource":"psirt@tigera.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-41185","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41185","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Tigera","product":"Calico","version":"affected 3.32.0 semver","platforms":[]},{"source":"CNA","vendor":"Tigera","product":"Calico Enterprise","version":"affected 3.21.7 semver","platforms":[]},{"source":"CNA","vendor":"Tigera","product":"Calico Enterprise","version":"affected 3.22.0 3.22.3 semver","platforms":[]},{"source":"CNA","vendor":"Tigera","product":"Calico Cloud","version":"affected 22.4.0 semver","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Behnam Shobiri","lang":"en"},{"source":"CNA","value":"Behnam Shobiri","lang":"en"},{"source":"CNA","value":"Anthony Tam","lang":"en"},{"source":"CNA","value":"Matt Dupre","lang":"en"},{"source":"CNA","value":"Casey Davenport","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-41185","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-05-28T17:03:45.985275Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-05-28T17:03:54.074Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"defaultStatus":"affected","product":"Calico","vendor":"Tigera","versions":[{"lessThan":"3.32.0","status":"affected","version":"0","versionType":"semver"}]},{"defaultStatus":"affected","product":"Calico Enterprise","vendor":"Tigera","versions":[{"lessThan":"3.21.7","status":"affected","version":"0","versionType":"semver"},{"lessThan":"3.22.3","status":"affected","version":"3.22.0","versionType":"semver"}]},{"defaultStatus":"affected","product":"Calico Cloud","vendor":"Tigera","versions":[{"lessThan":"22.4.0","status":"affected","version":"0","versionType":"semver"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:a:tigera:calico:*:*:*:*:*:*:*:*","versionEndExcluding":"3.32.0","versionStartIncluding":"0","vulnerable":true}],"negate":false,"operator":"OR"},{"cpeMatch":[{"criteria":"cpe:2.3:a:tigera:calico_enterprise:*:*:*:*:*:*:*:*","versionEndExcluding":"3.21.7","versionStartIncluding":"0","vulnerable":true},{"criteria":"cpe:2.3:a:tigera:calico_enterprise:*:*:*:*:*:*:*:*","versionEndExcluding":"3.22.3","versionStartIncluding":"3.22.0","vulnerable":true}],"negate":false,"operator":"OR"},{"cpeMatch":[{"criteria":"cpe:2.3:a:tigera:calico_cloud:*:*:*:*:*:*:*:*","versionEndExcluding":"22.4.0","versionStartIncluding":"0","vulnerable":true}],"negate":false,"operator":"OR"}],"operator":"OR"}],"credits":[{"lang":"en","type":"finder","value":"Behnam Shobiri"},{"lang":"en","type":"remediation developer","value":"Behnam Shobiri"},{"lang":"en","type":"remediation reviewer","value":"Anthony Tam"},{"lang":"en","type":"remediation reviewer","value":"Matt Dupre"},{"lang":"en","type":"remediation verifier","value":"Casey Davenport"}],"datePublic":"2026-05-29T03:59:00.000Z","descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<span>When Calico is configured with the Azure IPAM plugin, the Calico CNI binary mutates the incoming CNI configuration to attach subnet information before delegating to the IPAM plugin. After mutating, the Azure IPAM helper logs the entire unmarshaled configuration map (</span><span>stdinData</span><span>) at </span><span>INFO</span><span> level to </span><span>/var/log/calico/cni/cni.log</span><span> on every CNI </span><span>ADD</span><span> and </span><span>DEL</span><span> invocation — once per pod scheduled or terminated on the node. When the cluster is deployed using token-based Kubernetes authentication, this log entry contains the ServiceAccount token, client key, and certificate authority in plaintext. Any principal with read access to /var/log/calico/cni/cni.log on a node&nbsp; can read these logs and extract the credentials, which grant cluster-wide Calico networking admin privileges.</span>"}],"value":"When Calico is configured with the Azure IPAM plugin, the Calico CNI binary mutates the incoming CNI configuration to attach subnet information before delegating to the IPAM plugin. After mutating, the Azure IPAM helper logs the entire unmarshaled configuration map (stdinData) at INFO level to /var/log/calico/cni/cni.log on every CNI ADD and DEL invocation — once per pod scheduled or terminated on the node. When the cluster is deployed using token-based Kubernetes authentication, this log entry contains the ServiceAccount token, client key, and certificate authority in plaintext. Any principal with read access to /var/log/calico/cni/cni.log on a node  can read these logs and extract the credentials, which grant cluster-wide Calico networking admin privileges."}],"impacts":[{"capecId":"CAPEC-150","descriptions":[{"lang":"en","value":"CAPEC-150 Collect Data from Common Resource Locations"}]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":6,"baseSeverity":"MEDIUM","exploitMaturity":"NOT_DEFINED","privilegesRequired":"LOW","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"LOW","subConfidentialityImpact":"LOW","subIntegrityImpact":"LOW","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:L/SA:L","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-532","description":"CWE-532 Insertion of sensitive information into log file","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-05-28T15:47:42.791Z","orgId":"e6d453f4-3dae-4941-bcea-9af25f4e824d","shortName":"Tigera"},"references":[{"tags":["patch"],"url":"https://github.com/projectcalico/calico/pull/12502"},{"tags":["patch"],"url":"https://github.com/projectcalico/calico/pull/12527"},{"tags":["patch"],"url":"https://github.com/projectcalico/calico/pull/12526"},{"tags":["vendor-advisory"],"url":"https://www.tigera.io/security-bulletins/tta-2026-002/"}],"source":{"discovery":"UNKNOWN"},"title":"ServiceAccount token disclosure via Azure IPAM CNI plugin logs","x_generator":{"engine":"Vulnogram 1.0.2"}}},"cveMetadata":{"assignerOrgId":"e6d453f4-3dae-4941-bcea-9af25f4e824d","assignerShortName":"Tigera","cveId":"CVE-2026-41185","datePublished":"2026-05-28T15:47:42.791Z","dateReserved":"2026-04-17T17:41:35.905Z","dateUpdated":"2026-05-28T17:03:54.074Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-28 17:16:22","lastModifiedDate":"2026-05-28 18:55:06","problem_types":["CWE-532","CWE-532 CWE-532 Insertion of sensitive information into log file"],"metrics":{"cvssMetricV40":[{"source":"psirt@tigera.io","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:L/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","baseScore":6,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"LOW","subIntegrityImpact":"LOW","subAvailabilityImpact":"LOW","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"41185","Ordinal":"1","Title":"ServiceAccount token disclosure via Azure IPAM CNI plugin logs","CVE":"CVE-2026-41185","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"41185","Ordinal":"1","NoteData":"When Calico is configured with the Azure IPAM plugin, the Calico CNI binary mutates the incoming CNI configuration to attach subnet information before delegating to the IPAM plugin. After mutating, the Azure IPAM helper logs the entire unmarshaled configuration map (stdinData) at INFO level to /var/log/calico/cni/cni.log on every CNI ADD and DEL invocation — once per pod scheduled or terminated on the node. When the cluster is deployed using token-based Kubernetes authentication, this log entry contains the ServiceAccount token, client key, and certificate authority in plaintext. Any principal with read access to /var/log/calico/cni/cni.log on a node  can read these logs and extract the credentials, which grant cluster-wide Calico networking admin privileges.","Type":"Description","Title":"ServiceAccount token disclosure via Azure IPAM CNI plugin logs"}]}}}