{"id":"CVE-2026-16543","state":"PUBLISHED","title":"Kong Operator cluster-wide ingress configuration DoS via embedded KIC CA-certificate ID collision","description":"Kong Operator's embedded Kong Kubernetes Ingress Controller (KIC) allows a user with namespace-scoped Secret creation privileges to cause a cluster-wide ingress configuration denial of service. The embedded KIC collects CA-certificate Secrets across all watched namespaces using a label selector alone, without ingress-class or namespace restrictions. The CA-certificate primary key is derived from a user-supplied field in the Secret. Duplicate CA-certificate IDs cause Kong Gateway to reject the entire configuration document and halting all ingress changes cluster-wide.","publishedAt":"2026-07-29T15:29:03.485Z","updatedAt":"2026-07-29T17:57:21.328Z","severity":{"score":7.1,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","source":"Kong"},"assigner":"Kong","products":["Kong/kong-operator"],"affected":[{"packageName":"Kong/kong-operator","defaultStatus":"unaffected","versions":[{"version":"2.2.0","status":"affected","lessThan":"2.2.3","versionType":"semver"},{"version":"2.1.0","status":"affected","lessThan":"2.1.9","versionType":"semver"},{"version":"0","status":"affected","lessThan":"2.0.11","versionType":"semver"}],"collectionURL":"https://github.com","repo":"https://github.com/Kong/kong-operator"}],"references":["https://github.com/Kong/kong-operator/security/advisories/GHSA-h4fh-j7xg-vwcx"],"weaknesses":["CWE-862","CWE-400"],"ingestedAt":"2026-10-29T20:11:00.674Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/16xxx/CVE-2026-16543.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-16543","state":"PUBLISHED","datePublished":"2026-07-29T15:29:03.485Z","dateUpdated":"2026-07-29T17:57:21.328Z","assignerShortName":"Kong","assignerOrgId":"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb","dateReserved":"2026-07-22T09:53:31.062Z"},"containers":{"cna":{"title":"Kong Operator cluster-wide ingress configuration DoS via embedded KIC CA-certificate ID collision","descriptions":[{"lang":"en","value":"Kong Operator's embedded Kong Kubernetes Ingress Controller (KIC) allows a user with namespace-scoped Secret creation privileges to cause a cluster-wide ingress configuration denial of service. The embedded KIC collects CA-certificate Secrets across all watched namespaces using a label selector alone, without ingress-class or namespace restrictions. The CA-certificate primary key is derived from a user-supplied field in the Secret. Duplicate CA-certificate IDs cause Kong Gateway to reject the entire configuration document and halting all ingress changes cluster-wide."}],"affected":[{"packageName":"Kong/kong-operator","defaultStatus":"unaffected","versions":[{"version":"2.2.0","status":"affected","lessThan":"2.2.3","versionType":"semver"},{"version":"2.1.0","status":"affected","lessThan":"2.1.9","versionType":"semver"},{"version":"0","status":"affected","lessThan":"2.0.11","versionType":"semver"}],"collectionURL":"https://github.com","repo":"https://github.com/Kong/kong-operator"}],"references":[{"url":"https://github.com/Kong/kong-operator/security/advisories/GHSA-h4fh-j7xg-vwcx"}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subAvailabilityImpact":"NONE","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.1,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-862","lang":"en","description":"CWE-862","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-400","lang":"en","description":"CWE-400","type":"CWE"}]}],"providerMetadata":{"shortName":"Kong","orgId":"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb","dateUpdated":"2026-07-29T15:29:03.485Z"},"impacts":[{"capecId":"CAPEC-240","descriptions":[{"lang":"en","value":"CAPEC-240 Resource Injection"}]},{"descriptions":[{"lang":"en","value":"Denial of Service"}]}],"configurations":[{"lang":"en","value":"You are affected if all of the following hold:\n\n  *  You are running Kong Operator with an on-prem Gateway, managed via a ControlPlane resource that uses the embedded KIC.\n  *  The ControlPlane is configured with spec.watchNamespaces.type: All, causing the embedded KIC to watch Secrets cluster-wide.\n  *  Your cluster hosts multiple tenants where not all users are fully trusted operators.\n  *  Untrusted users have RBAC permission to create Secrets in any namespace watched by the ControlPlane, and are not prevented from applying both the konghq.com/secret=true and konghq.com/ca-cert=true labels.\n\n\nYou are not affected if:\n\n  *  The ControlPlane uses spec.watchNamespaces.type: Own or a tightly scoped spec.watchNamespaces.type: List covering only namespaces whose users are all fully trusted.\n  *  RBAC policies prevent untrusted users from creating Secrets with the labels konghq.com/secret=true and konghq.com/ca-cert=true in any namespace watched by the ControlPlane.\n  *  You are using Kong Operator exclusively with Konnect-managed control planes (the vulnerability is in the embedded on-prem KIC path only).","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>You are affected if<span>&nbsp;</span><strong>all</strong><span>&nbsp;</span>of the following hold:</p><ol><li>You are running Kong Operator with an on-prem Gateway, managed via a<span>&nbsp;</span><strong><code>ControlPlane</code></strong><span>&nbsp;</span>resource that uses the embedded KIC.</li><li>The<span>&nbsp;</span><code>ControlPlane</code><span>&nbsp;</span>is configured with<span>&nbsp;</span><strong><code>spec.watchNamespaces.type: All</code></strong>, causing the embedded KIC to watch Secrets cluster-wide.</li><li>Your cluster hosts<span>&nbsp;</span><strong>multiple tenants</strong><span>&nbsp;</span>where not all users are fully trusted operators.</li><li>Untrusted users have RBAC permission to<span>&nbsp;</span><strong>create Secrets</strong><span>&nbsp;</span>in any namespace watched by the<span>&nbsp;</span><code>ControlPlane</code>, and are not prevented from applying both the<span>&nbsp;</span><code>konghq.com/secret=true</code><span>&nbsp;</span>and<span>&nbsp;</span><code>konghq.com/ca-cert=true</code><span>&nbsp;</span>labels.</li></ol><p>You are<span>&nbsp;</span><strong>not</strong><span>&nbsp;</span>affected if:</p><ul><li>The<span>&nbsp;</span><code>ControlPlane</code><span>&nbsp;</span>uses<span>&nbsp;</span><code>spec.watchNamespaces.type: Own</code><span>&nbsp;</span>or a tightly scoped<span>&nbsp;</span><code>spec.watchNamespaces.type: List</code><span>&nbsp;</span>covering only namespaces whose users are all fully trusted.</li><li>RBAC policies prevent untrusted users from creating Secrets with the labels<span>&nbsp;</span><code>konghq.com/secret=true</code><span>&nbsp;</span>and<span>&nbsp;</span><code>konghq.com/ca-cert=true</code><span>&nbsp;</span>in any namespace watched by the<span>&nbsp;</span><code>ControlPlane</code>.</li><li>You are using Kong Operator exclusively with Konnect-managed control planes (the vulnerability is in the embedded on-prem KIC path only).</li></ul>"}]}],"workarounds":[{"lang":"en","value":"1. Restrict ControlPlane watch scope: Change spec.watchNamespaces.type from All to Own or a narrowly defined List that covers only namespaces whose users are trusted operators. This prevents the embedded KIC from ingesting Secrets from untrusted namespaces.2. Restrict Secret labeling via RBAC: Use Kubernetes RBAC to prevent untrusted users from creating or modifying Secrets with the labels konghq.com/secret=true and konghq.com/ca-cert=true. Consider using an admission webhook or OPA/Kyverno policy to enforce this label restriction.\n\n\n3. Audit existing CA-cert Secrets: Inspect Secrets labeled konghq.com/ca-cert=true across all watched namespaces for unexpected or duplicate data.id values. Remove any that were not provisioned by a trusted operator.","supportingMedia":[{"type":"text/html","base64":false,"value":"<strong>1. Restrict&nbsp;<code>ControlPlane</code>&nbsp;watch scope</strong><span>: Change</span><span>&nbsp;</span><code>spec.watchNamespaces.type</code><span>&nbsp;</span><span>from</span><span>&nbsp;</span><code>All</code><span>&nbsp;</span><span>to</span><span>&nbsp;</span><code>Own</code><span>&nbsp;</span><span>or a narrowly defined</span><span>&nbsp;</span><code>List</code><span>&nbsp;</span><span>that covers only namespaces whose users are trusted operators. This prevents the embedded KIC from ingesting Secrets from untrusted namespaces.</span><div><span><strong>2. Restrict Secret labeling via RBAC</strong><span>: Use Kubernetes RBAC to prevent untrusted users from creating or modifying Secrets with the labels</span><span>&nbsp;</span><code>konghq.com/secret=true</code><span>&nbsp;</span><span>and</span><span>&nbsp;</span><code>konghq.com/ca-cert=true</code><span>. Consider using an admission webhook or OPA/Kyverno policy to enforce this label restriction.</span><br></span></div><div><span><span><strong>3. Audit existing CA-cert Secrets</strong><span>: Inspect Secrets labeled</span><span>&nbsp;</span><code>konghq.com/ca-cert=true</code><span>&nbsp;</span><span>across all watched namespaces for unexpected or duplicate</span><span>&nbsp;</span><code>data.id</code><span>&nbsp;</span><span>values. Remove any that were not provisioned by a trusted operator.</span><br></span></span></div>"}]}],"solutions":[{"lang":"en","value":"Upgrade to the patched version of Kong Operator: 2.2.3, 2.1.9 or 2.0.11.","supportingMedia":[{"type":"text/html","base64":false,"value":"<span>Upgrade to the patched version of Kong Operator: 2.2.3, 2.1.9 or 2.0.11.</span>"}]}],"source":{"discovery":"INTERNAL"},"x_generator":{"engine":"Vulnogram 1.0.4"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-29T17:57:12.581830Z","id":"CVE-2026-16543","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-29T17:57:21.328Z"}}]}}}