{"id":"CVE-2026-41187","state":"PUBLISHED","title":"Calico Tier Authorization Bypass via DeleteCollection","description":"Calico's apiserver wraps tier-scoped resources so that every operation runs through AuthorizeTierOperation, but the Delete override on NetworkPolicy, GlobalNetworkPolicy, and their staged variants is not invoked for DeleteCollection requests. A user holding the deletecollection verb or wildcard verbs on tier-scoped policy resources can bulk-delete policies in tiers they otherwise have no rights on, breaking the tier authorization boundary.","publishedAt":"2026-07-30T14:45:04.247Z","updatedAt":"2026-07-30T16:11:27.341Z","severity":{"score":6.2,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:L/SA:H","source":"Tigera"},"assigner":"Tigera","products":["Tigera Calico","Tigera Calico Enterprise","Tigera Calico Cloud"],"affected":[{"vendor":"Tigera","product":"Calico","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.31.6","versionType":"semver"},{"version":"3.32.0","status":"affected","lessThan":"3.32.1","versionType":"semver"}]},{"vendor":"Tigera","product":"Calico Enterprise","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.21.7","versionType":"semver"},{"version":"3.22.0","status":"affected","lessThan":"3.22.5","versionType":"semver"}]},{"vendor":"Tigera","product":"Calico Cloud","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"22.4.0","versionType":"semver"}]}],"references":["https://github.com/projectcalico/calico/pull/12731","https://github.com/projectcalico/calico/pull/12735","https://github.com/projectcalico/calico/pull/12736","https://github.com/projectcalico/calico/pull/12737","https://www.tigera.io/security-bulletins/tta-2026-006/"],"weaknesses":["CWE-285","CWE-863"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/41xxx/CVE-2026-41187.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-41187","state":"PUBLISHED","datePublished":"2026-07-30T14:45:04.247Z","dateUpdated":"2026-07-30T16:11:27.341Z","assignerShortName":"Tigera","assignerOrgId":"e6d453f4-3dae-4941-bcea-9af25f4e824d","dateReserved":"2026-04-17T17:41:35.905Z"},"containers":{"cna":{"title":"Calico Tier Authorization Bypass via DeleteCollection","descriptions":[{"lang":"en","value":"Calico's apiserver wraps tier-scoped resources so that every operation runs through AuthorizeTierOperation, but the Delete override on NetworkPolicy, GlobalNetworkPolicy, and their staged variants is not invoked for DeleteCollection requests. A user holding the deletecollection verb or wildcard verbs on tier-scoped policy resources can bulk-delete policies in tiers they otherwise have no rights on, breaking the tier authorization boundary."}],"affected":[{"vendor":"Tigera","product":"Calico","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.31.6","versionType":"semver"},{"version":"3.32.0","status":"affected","lessThan":"3.32.1","versionType":"semver"}]},{"vendor":"Tigera","product":"Calico Enterprise","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.21.7","versionType":"semver"},{"version":"3.22.0","status":"affected","lessThan":"3.22.5","versionType":"semver"}]},{"vendor":"Tigera","product":"Calico Cloud","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"22.4.0","versionType":"semver"}]}],"references":[{"url":"https://github.com/projectcalico/calico/pull/12731","tags":["patch"]},{"url":"https://github.com/projectcalico/calico/pull/12735","tags":["patch"]},{"url":"https://github.com/projectcalico/calico/pull/12736","tags":["patch"]},{"url":"https://github.com/projectcalico/calico/pull/12737","tags":["patch"]},{"url":"https://www.tigera.io/security-bulletins/tta-2026-006/","tags":["vendor-advisory"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"HIGH","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"LOW","subIntegrityImpact":"LOW","vulnAvailabilityImpact":"LOW","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":"MEDIUM","baseScore":6.2,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:L/SA:H"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-285","lang":"en","description":"CWE-285 Improper Authorization","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-863","lang":"en","description":"CWE-863 Incorrect Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"Tigera","orgId":"e6d453f4-3dae-4941-bcea-9af25f4e824d","dateUpdated":"2026-07-30T14:45:04.247Z"},"datePublic":"2026-07-30T16:00:00.000Z","credits":[{"lang":"en","value":"Behnam Shobiri","type":"finder"},{"lang":"en","value":"Mazdak Nasab","type":"remediation developer"},{"lang":"en","value":"Anthony Tam","type":"remediation reviewer"},{"lang":"en","value":"Matt Dupre","type":"remediation reviewer"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 1.0.2"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-30T16:11:20.822241Z","id":"CVE-2026-41187","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-07-30T16:11:27.341Z"}}]}}}