Search
Find a vulnerability
Search criteria
13 vulnerabilities
CVE-2026-18679 (GCVE-0-2026-18679)
Vulnerability from cvelistv5 – Published: 2026-08-12 18:52 – Updated: 2026-08-12 18:52
VLAI
EPSS
VEX
Title
Kong Mesh: kuma-dp connects to the control plane without verifying the TLS certificate when no CA is configured
Summary
When kuma-dp is started against an HTTPS control plane and the operator did not pass a CA certificate, the data plane connects with TLS peer verification disabled, and the dataplane authentication token is sent over that unverified connection.
An on-path actor can intercept the dataplane authentication token and impersonate the control plane to the data plane, injecting a forged bootstrap configuration and taking over the proxy.
Severity
CWE
- CWE-295 - Improper Certificate Validation
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/kumahq/kuma/security/advisorie… | vendor-advisory |
| https://github.com/kumahq/kuma/pull/16777 | patch |
| https://developer.konghq.com/mesh/changelog/ | release-notes |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"kuma-dp"
],
"platforms": [
"Linux"
],
"product": "Kong Mesh",
"vendor": "Kong Inc.",
"versions": [
{
"lessThan": "2.7.26",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"lessThan": "2.9.16",
"status": "affected",
"version": "2.8.0",
"versionType": "semver"
},
{
"lessThan": "2.11.14",
"status": "affected",
"version": "2.10.0",
"versionType": "semver"
},
{
"lessThan": "2.12.11",
"status": "affected",
"version": "2.12.0",
"versionType": "semver"
},
{
"lessThan": "2.13.7",
"status": "affected",
"version": "2.13.0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eYou are affected if you run universal mode \u003ccode\u003ekuma-dp\u003c/code\u003e against an HTTPS control plane without \u003ccode\u003e--ca-cert-file\u003c/code\u003e, or with \u003ccode\u003eKUMA_CONTROL_PLANE_CA_CERT\u003c/code\u003e unset.\u003c/p\u003e\u003cp\u003eYou are not affected if you install on Kubernetes through \u003ccode\u003ekumactl install control-plane\u003c/code\u003e or the official Kong Mesh Helm chart. In both cases the control plane\u0027s mutating admission webhook injects \u003ccode\u003eKUMA_CONTROL_PLANE_CA_CERT\u003c/code\u003e into every sidecar at pod admission, so each \u003ccode\u003ekuma-dp\u003c/code\u003e starts with the CA already configured.\u003c/p\u003e"
}
],
"value": "You are affected if you run universal mode kuma-dp against an HTTPS control plane without --ca-cert-file, or with KUMA_CONTROL_PLANE_CA_CERT unset.\n\n\n\nYou are not affected if you install on Kubernetes through kumactl install control-plane or the official Kong Mesh Helm chart. In both cases the control plane\u0027s mutating admission webhook injects KUMA_CONTROL_PLANE_CA_CERT into every sidecar at pod admission, so each kuma-dp starts with the CA already configured."
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eWhen \u003ccode\u003ekuma-dp\u003c/code\u003e is started against an HTTPS control plane and the operator did not pass a CA certificate, the data plane connects with TLS peer verification disabled, and the dataplane authentication token is sent over that unverified connection.\u003c/p\u003e\u003cp\u003eAn on-path actor can intercept the dataplane authentication token and impersonate the control plane to the data plane, injecting a forged bootstrap configuration and taking over the proxy.\u003c/p\u003e"
}
],
"value": "When kuma-dp is started against an HTTPS control plane and the operator did not pass a CA certificate, the data plane connects with TLS peer verification disabled, and the dataplane authentication token is sent over that unverified connection.\n\n\n\nAn on-path actor can intercept the dataplane authentication token and impersonate the control plane to the data plane, injecting a forged bootstrap configuration and taking over the proxy."
}
],
"impacts": [
{
"descriptions": [
{
"lang": "en",
"value": "Control plane impersonation"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "HIGH",
"attackRequirements": "PRESENT",
"attackVector": "ADJACENT",
"baseScore": 5.8,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-295",
"description": "CWE-295 Improper Certificate Validation",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-12T18:52:31.146Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"name": "Upstream advisory GHSA-wvmp-6r4v-j6cv",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/kumahq/kuma/security/advisories/GHSA-wvmp-6r4v-j6cv"
},
{
"name": "kumahq/kuma#16777 (master)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/16777"
},
{
"name": "Kong MESH Changelog",
"tags": [
"release-notes"
],
"url": "https://developer.konghq.com/mesh/changelog/"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUpgrade to Kong Mesh 2.7.26, 2.9.16, 2.11.14, 2.12.11 or 2.13.7, whichever matches your release line. Patched releases fall back to the operating system trust store instead of disabling verification, so a publicly trusted control plane certificate verifies with no further configuration. The 2.14 line shipped after the fix and was never affected.\u003c/p\u003e"
}
],
"value": "Upgrade to Kong Mesh 2.7.26, 2.9.16, 2.11.14, 2.12.11 or 2.13.7, whichever matches your release line. Patched releases fall back to the operating system trust store instead of disabling verification, so a publicly trusted control plane certificate verifies with no further configuration. The 2.14 line shipped after the fix and was never affected."
}
],
"source": {
"discovery": "INTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-03T20:20:00.000Z",
"value": "Kong Mesh patched releases published"
},
{
"lang": "en",
"time": "2026-07-16T16:42:00.000Z",
"value": "Upstream advisory GHSA-wvmp-6r4v-j6cv published"
}
],
"title": "Kong Mesh: kuma-dp connects to the control plane without verifying the TLS certificate when no CA is configured",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eSet \u003ccode\u003e--ca-cert-file\u003c/code\u003e, or \u003ccode\u003eKUMA_CONTROL_PLANE_CA_CERT\u003c/code\u003e, on every universal mode data plane and point it at the control plane\u0027s serving CA. Alternatively terminate the control plane behind a publicly trusted certificate.\u003c/p\u003e"
}
],
"value": "Set --ca-cert-file, or KUMA_CONTROL_PLANE_CA_CERT, on every universal mode data plane and point it at the control plane\u0027s serving CA. Alternatively terminate the control plane behind a publicly trusted certificate."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-18679",
"datePublished": "2026-08-12T18:52:31.146Z",
"dateReserved": "2026-08-03T15:20:48.055Z",
"dateUpdated": "2026-08-12T18:52:31.146Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-18678 (GCVE-0-2026-18678)
Vulnerability from cvelistv5 – Published: 2026-08-12 18:49 – Updated: 2026-08-12 18:49
VLAI
EPSS
VEX
Title
Kong Mesh: kumactl connects to the control plane without verifying the TLS certificate when no CA is configured
Summary
When an operator adds an HTTPS control plane profile to kumactl without providing a CA certificate, kumactl disables TLS verification and sends API tokens over the unverified connection.
An attacker on the network path between the operator and the control plane can intercept user or admin API tokens and then act against the control plane as that user.
Severity
CWE
- CWE-295 - Improper Certificate Validation
Assigner
References
3 references
| URL | Tags |
|---|---|
| https://github.com/kumahq/kuma/security/advisorie… | vendor-advisory |
| https://github.com/kumahq/kuma/pull/16777 | patch |
| https://developer.konghq.com/mesh/changelog/ | release-notes |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"kumactl"
],
"platforms": [
"Linux"
],
"product": "Kong Mesh",
"vendor": "Kong Inc.",
"versions": [
{
"lessThan": "2.7.26",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"lessThan": "2.9.16",
"status": "affected",
"version": "2.8.0",
"versionType": "semver"
},
{
"lessThan": "2.11.14",
"status": "affected",
"version": "2.10.0",
"versionType": "semver"
},
{
"lessThan": "2.12.11",
"status": "affected",
"version": "2.12.0",
"versionType": "semver"
},
{
"lessThan": "2.13.7",
"status": "affected",
"version": "2.13.0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eYou are affected if you have \u003ccode\u003ekumactl\u003c/code\u003e profiles manually added against an HTTPS control plane endpoint without \u003ccode\u003e--ca-cert-file\u003c/code\u003e.\u003c/p\u003e\u003cp\u003eYou are not affected if you use the default local profile, which uses plain HTTP.\u003c/p\u003e"
}
],
"value": "You are affected if you have kumactl profiles manually added against an HTTPS control plane endpoint without --ca-cert-file.\n\n\n\nYou are not affected if you use the default local profile, which uses plain HTTP."
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eWhen an operator adds an HTTPS control plane profile to \u003ccode\u003ekumactl\u003c/code\u003e without providing a CA certificate, \u003ccode\u003ekumactl\u003c/code\u003e disables TLS verification and sends API tokens over the unverified connection.\u003c/p\u003e\u003cp\u003eAn attacker on the network path between the operator and the control plane can intercept user or admin API tokens and then act against the control plane as that user.\u003c/p\u003e"
}
],
"value": "When an operator adds an HTTPS control plane profile to kumactl without providing a CA certificate, kumactl disables TLS verification and sends API tokens over the unverified connection.\n\n\n\nAn attacker on the network path between the operator and the control plane can intercept user or admin API tokens and then act against the control plane as that user."
}
],
"impacts": [
{
"descriptions": [
{
"lang": "en",
"value": "Credential interception"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "HIGH",
"attackRequirements": "PRESENT",
"attackVector": "ADJACENT",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "PASSIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-295",
"description": "CWE-295 Improper Certificate Validation",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-12T18:49:45.530Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"name": "Upstream advisory GHSA-v95x-xhq5-4929",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/kumahq/kuma/security/advisories/GHSA-v95x-xhq5-4929"
},
{
"name": "kumahq/kuma#16777 (master)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/16777"
},
{
"name": "Kong MESH Changelog",
"tags": [
"release-notes"
],
"url": "https://developer.konghq.com/mesh/changelog/"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUpgrade to Kong Mesh 2.7.26, 2.9.16, 2.11.14, 2.12.11 or 2.13.7, whichever matches your release line. Patched releases fall back to the operating system trust store instead of disabling verification, so a publicly trusted control plane certificate verifies with no further configuration. The 2.14 line shipped after the fix and was never affected.\u003c/p\u003e"
}
],
"value": "Upgrade to Kong Mesh 2.7.26, 2.9.16, 2.11.14, 2.12.11 or 2.13.7, whichever matches your release line. Patched releases fall back to the operating system trust store instead of disabling verification, so a publicly trusted control plane certificate verifies with no further configuration. The 2.14 line shipped after the fix and was never affected."
}
],
"source": {
"discovery": "INTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-06-03T20:20:00.000Z",
"value": "Kong Mesh patched releases published"
},
{
"lang": "en",
"time": "2026-07-16T16:42:00.000Z",
"value": "Upstream advisory GHSA-v95x-xhq5-4929 published"
}
],
"title": "Kong Mesh: kumactl connects to the control plane without verifying the TLS certificate when no CA is configured",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eWhen adding an HTTPS control plane profile to \u003ccode\u003ekumactl\u003c/code\u003e, always pass \u003ccode\u003e--ca-cert-file\u003c/code\u003e pointing at the control plane\u0027s serving CA. Alternatively terminate the control plane behind a publicly trusted certificate.\u003c/p\u003e"
}
],
"value": "When adding an HTTPS control plane profile to kumactl, always pass --ca-cert-file pointing at the control plane\u0027s serving CA. Alternatively terminate the control plane behind a publicly trusted certificate."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-18678",
"datePublished": "2026-08-12T18:49:45.530Z",
"dateReserved": "2026-08-03T15:20:46.760Z",
"dateUpdated": "2026-08-12T18:49:45.530Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-18677 (GCVE-0-2026-18677)
Vulnerability from cvelistv5 – Published: 2026-08-12 18:47 – Updated: 2026-08-12 18:47
VLAI
EPSS
VEX
Title
Kong Mesh: a dataplane token without a workload binding can claim any workload's SPIFFE identity
Summary
In Kong Mesh running in universal mode with a MeshIdentity whose SPIFFE ID path template derives from the dataplane's kuma.io/workload label, the XDS authenticator in kuma-cp validates that label only when the dataplane token is bound to a workload. Workload binding is optional, so a dataplane presenting a tags-bound token can register with kuma.io/workload set to any value and obtain another workload's SPIFFE identity.
Severity
CWE
- CWE-290 - Authentication Bypass by Spoofing
Assigner
References
5 references
| URL | Tags |
|---|---|
| https://github.com/kumahq/kuma/security/advisorie… | vendor-advisory |
| https://github.com/kumahq/kuma/pull/17474 | patch |
| https://github.com/kumahq/kuma/pull/17503 | patch |
| https://github.com/kumahq/kuma/pull/17502 | patch |
| https://developer.konghq.com/mesh/changelog/ | release-notes |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"kuma-cp"
],
"platforms": [
"Linux"
],
"product": "Kong Mesh",
"vendor": "Kong Inc.",
"versions": [
{
"lessThan": "2.13.10",
"status": "affected",
"version": "2.13.0",
"versionType": "semver"
},
{
"lessThan": "2.14.2",
"status": "affected",
"version": "2.14.0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eYou are affected if all of the following hold:\u003c/p\u003e\u003cul\u003e\u003cli\u003eThe control plane runs in universal mode.\u003c/li\u003e\u003cli\u003eA \u003ccode\u003eMeshIdentity\u003c/code\u003e is configured whose SPIFFE ID path template derives from the workload label, including the default universal template \u003ccode\u003e/workload/{{ .Workload }}\u003c/code\u003e.\u003c/li\u003e\u003cli\u003eDataplanes authenticate with tokens that are not bound to a workload (tags-bound tokens, the common case, since workload binding is newer and optional).\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eYou are not affected if:\u003c/p\u003e\u003cul\u003e\u003cli\u003eThe control plane runs in Kubernetes mode. Its identity template is \u003ccode\u003e/ns/{{ .Namespace }}/sa/{{ .ServiceAccount }}\u003c/code\u003e, and the control plane derives those values from the pod\u0027s real identity rather than from a label the workload sets.\u003c/li\u003e\u003cli\u003eYour \u003ccode\u003eMeshIdentity\u003c/code\u003e uses a SPIFFE template that does not reference the workload label.\u003c/li\u003e\u003cli\u003eEvery dataplane whose identity derives from the workload label already uses a workload-bound token.\u003c/li\u003e\u003c/ul\u003e"
}
],
"value": "You are affected if all of the following hold:\n\n * The control plane runs in universal mode.\n * A MeshIdentity is configured whose SPIFFE ID path template derives from the workload label, including the default universal template /workload/{{ .Workload }}.\n * Dataplanes authenticate with tokens that are not bound to a workload (tags-bound tokens, the common case, since workload binding is newer and optional).\n\n\n\n\nYou are not affected if:\n\n * The control plane runs in Kubernetes mode. Its identity template is /ns/{{ .Namespace }}/sa/{{ .ServiceAccount }}, and the control plane derives those values from the pod\u0027s real identity rather than from a label the workload sets.\n * Your MeshIdentity uses a SPIFFE template that does not reference the workload label.\n * Every dataplane whose identity derives from the workload label already uses a workload-bound token."
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "kanywst"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eIn Kong Mesh running in universal mode with a \u003ccode\u003eMeshIdentity\u003c/code\u003e whose SPIFFE ID path template derives from the dataplane\u0027s \u003ccode\u003ekuma.io/workload\u003c/code\u003e label, the XDS authenticator in \u003ccode\u003ekuma-cp\u003c/code\u003e validates that label only when the dataplane token is bound to a workload. Workload binding is optional, so a dataplane presenting a tags-bound token can register with \u003ccode\u003ekuma.io/workload\u003c/code\u003e set to any value and obtain another workload\u0027s SPIFFE identity.\u003c/p\u003e"
}
],
"value": "In Kong Mesh running in universal mode with a MeshIdentity whose SPIFFE ID path template derives from the dataplane\u0027s kuma.io/workload label, the XDS authenticator in kuma-cp validates that label only when the dataplane token is bound to a workload. Workload binding is optional, so a dataplane presenting a tags-bound token can register with kuma.io/workload set to any value and obtain another workload\u0027s SPIFFE identity."
}
],
"impacts": [
{
"descriptions": [
{
"lang": "en",
"value": "Workload identity spoofing"
}
]
}
],
"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": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "LOW",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-290",
"description": "CWE-290 Authentication Bypass by Spoofing",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-12T18:47:06.710Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"name": "Upstream advisory GHSA-744g-c785-x65q",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/kumahq/kuma/security/advisories/GHSA-744g-c785-x65q"
},
{
"name": "kumahq/kuma#17474 (master)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17474"
},
{
"name": "kumahq/kuma#17503 (release-2.13 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17503"
},
{
"name": "kumahq/kuma#17502 (release-2.14 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17502"
},
{
"name": "Kong MESH Changelog",
"tags": [
"release-notes"
],
"url": "https://developer.konghq.com/mesh/changelog/"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUpgrade to Kong Mesh 2.13.10 or 2.14.2, whichever matches your release line. In patched versions a dataplane whose identity derives from the \u003ccode\u003ekuma.io/workload\u003c/code\u003e label requires a workload-bound token; an unbound tags-only token is rejected at XDS authentication. Kubernetes mode and universal templates that do not reference the workload label keep working with unbound tokens.\u003c/p\u003e"
}
],
"value": "Upgrade to Kong Mesh 2.13.10 or 2.14.2, whichever matches your release line. In patched versions a dataplane whose identity derives from the kuma.io/workload label requires a workload-bound token; an unbound tags-only token is rejected at XDS authentication. Kubernetes mode and universal templates that do not reference the workload label keep working with unbound tokens."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-08-01T16:58:00.000Z",
"value": "Kong Mesh 2.13.10 and 2.14.2 published"
}
],
"title": "Kong Mesh: a dataplane token without a workload binding can claim any workload\u0027s SPIFFE identity",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eIssue workload-bound dataplane tokens for every dataplane whose identity derives from the \u003ccode\u003ekuma.io/workload\u003c/code\u003e label. A workload-bound token constrains that label to the bound value, so a mismatched label is rejected at authentication.\u003c/p\u003e"
}
],
"value": "Issue workload-bound dataplane tokens for every dataplane whose identity derives from the kuma.io/workload label. A workload-bound token constrains that label to the bound value, so a mismatched label is rejected at authentication."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-18677",
"datePublished": "2026-08-12T18:47:06.710Z",
"dateReserved": "2026-08-03T15:20:45.630Z",
"dateUpdated": "2026-08-12T18:47:06.710Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-18676 (GCVE-0-2026-18676)
Vulnerability from cvelistv5 – Published: 2026-08-12 18:42 – Updated: 2026-08-12 18:43
VLAI
EPSS
VEX
Title
Kong Mesh: default control plane config leaks the admin token cross-origin via a CORS wildcard and localhost admin
Summary
The default kuma-cp configuration in Kong Mesh reveals the admin bootstrap token and signing keys to any webpage the operator visits while the control plane is reachable from their browser. Due to a CORS misconfiguration a cross-origin fetch() from a malicious page returns the admin JWT and signing material.
Severity
CWE
Assigner
References
8 references
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"kuma-cp"
],
"platforms": [
"Linux"
],
"product": "Kong Mesh",
"vendor": "Kong Inc.",
"versions": [
{
"lessThan": "2.7.25",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"lessThan": "2.9.15",
"status": "affected",
"version": "2.8.0",
"versionType": "semver"
},
{
"lessThan": "2.11.13",
"status": "affected",
"version": "2.10.0",
"versionType": "semver"
},
{
"lessThan": "2.12.10",
"status": "affected",
"version": "2.12.0",
"versionType": "semver"
},
{
"lessThan": "2.13.5",
"status": "affected",
"version": "2.13.0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eYou are affected if all of the following hold:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ccode\u003ekuma-cp\u003c/code\u003e runs with default config (\u003ccode\u003ecorsAllowedDomains: [\u0026quot;.*\u0026quot;]\u003c/code\u003e and \u003ccode\u003elocalhostIsAdmin: true\u003c/code\u003e).\u003c/li\u003e\u003cli\u003eThe control plane is reachable from a browser on the same machine: \u003ccode\u003ekuma-cp run\u003c/code\u003e on a developer laptop, Docker with host networking or a published port on a workstation, or \u003ccode\u003ekubectl port-forward\u003c/code\u003e from a machine that also browses the web.\u003c/li\u003e\u003cli\u003eThe operator visits a page running attacker JavaScript while the control plane is reachable.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eYou are not affected if:\u003c/p\u003e\u003cul\u003e\u003cli\u003eThe control plane runs on a Kubernetes cluster accessed over ClusterIP, NodePort, or LoadBalancer from a remote client.\u003c/li\u003e\u003cli\u003eThe control plane runs on an SSH-administered VM with no browser on the host.\u003c/li\u003e\u003cli\u003e\u003ccode\u003eKUMA_API_SERVER_AUTHN_LOCALHOST_IS_ADMIN=false\u003c/code\u003e is set.\u003c/li\u003e\u003cli\u003e\u003ccode\u003eKUMA_API_SERVER_CORS_ALLOWED_DOMAINS\u003c/code\u003e is set to an explicit allowlist that excludes attacker origins.\u003c/li\u003e\u003c/ul\u003e"
}
],
"value": "You are affected if all of the following hold:\n\n * kuma-cp runs with default config (corsAllowedDomains: [\".*\"] and localhostIsAdmin: true).\n * The control plane is reachable from a browser on the same machine: kuma-cp run on a developer laptop, Docker with host networking or a published port on a workstation, or kubectl port-forward from a machine that also browses the web.\n * The operator visits a page running attacker JavaScript while the control plane is reachable.\n\n\n\n\nYou are not affected if:\n\n * The control plane runs on a Kubernetes cluster accessed over ClusterIP, NodePort, or LoadBalancer from a remote client.\n * The control plane runs on an SSH-administered VM with no browser on the host.\n * KUMA_API_SERVER_AUTHN_LOCALHOST_IS_ADMIN=false is set.\n * KUMA_API_SERVER_CORS_ALLOWED_DOMAINS is set to an explicit allowlist that excludes attacker origins."
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "eldudareeno"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eThe default \u003ccode\u003ekuma-cp\u003c/code\u003e configuration in Kong Mesh reveals the admin bootstrap token and signing keys to any webpage the operator visits while the control plane is reachable from their browser.\u0026nbsp;Due to a CORS misconfiguration a cross-origin \u003ccode\u003efetch()\u003c/code\u003e from a malicious page returns the admin JWT and signing material.\u003c/p\u003e"
}
],
"value": "The default kuma-cp configuration in Kong Mesh reveals the admin bootstrap token and signing keys to any webpage the operator visits while the control plane is reachable from their browser.\u00a0Due to a CORS misconfiguration a cross-origin fetch() from a malicious page returns the admin JWT and signing material."
}
],
"impacts": [
{
"descriptions": [
{
"lang": "en",
"value": "Credential disclosure"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 5.1,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "ACTIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "LOW",
"vulnIntegrityImpact": "LOW",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-346",
"description": "CWE-346 Origin Validation Error",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-942",
"description": "CWE-942 Permissive Cross-domain Policy with Untrusted Domain",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-12T18:43:32.594Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"name": "Upstream advisory GHSA-3vcp-chfh-f6r2",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/kumahq/kuma/security/advisories/GHSA-3vcp-chfh-f6r2"
},
{
"name": "kumahq/kuma#16416 (master)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/16416"
},
{
"name": "kumahq/kuma#16423 (backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/16423"
},
{
"name": "kumahq/kuma#16424 (backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/16424"
},
{
"name": "kumahq/kuma#16425 (backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/16425"
},
{
"name": "kumahq/kuma#16426 (backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/16426"
},
{
"name": "kumahq/kuma#16427 (backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/16427"
},
{
"name": "Kong MESH Changelog",
"tags": [
"release-notes"
],
"url": "https://developer.konghq.com/mesh/changelog/"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUpgrade to Kong Mesh 2.7.25, 2.9.15, 2.11.13, 2.12.10 or 2.13.5, whichever matches your release line. In patched versions the \u003ccode\u003ecorsAllowedDomains\u003c/code\u003e default changed from \u003ccode\u003e[\u0026quot;.*\u0026quot;]\u003c/code\u003e to \u003ccode\u003e[]\u003c/code\u003e, making CORS opt-in, and \u003ccode\u003elocalhostIsAdmin\u003c/code\u003e was hardened to require a direct loopback \u003ccode\u003eRemoteAddr\u003c/code\u003e and \u003ccode\u003eHost\u003c/code\u003e and to reject requests carrying proxy-hop headers (\u003ccode\u003eX-Forwarded-For\u003c/code\u003e), cross-site fetch metadata (\u003ccode\u003eSec-Fetch-Site\u003c/code\u003e), or a non-localhost \u003ccode\u003eOrigin\u003c/code\u003e. The 2.14 line shipped after the fix and was never affected.\u003c/p\u003e"
}
],
"value": "Upgrade to Kong Mesh 2.7.25, 2.9.15, 2.11.13, 2.12.10 or 2.13.5, whichever matches your release line. In patched versions the corsAllowedDomains default changed from [\".*\"] to [], making CORS opt-in, and localhostIsAdmin was hardened to require a direct loopback RemoteAddr and Host and to reject requests carrying proxy-hop headers (X-Forwarded-For), cross-site fetch metadata (Sec-Fetch-Site), or a non-localhost Origin. The 2.14 line shipped after the fix and was never affected."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-05-01T07:01:00.000Z",
"value": "Kong Mesh patched releases published"
},
{
"lang": "en",
"time": "2026-05-09T06:15:00.000Z",
"value": "Upstream advisory GHSA-3vcp-chfh-f6r2 published"
}
],
"title": "Kong Mesh: default control plane config leaks the admin token cross-origin via a CORS wildcard and localhost admin",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eSet \u003ccode\u003eKUMA_API_SERVER_AUTHN_LOCALHOST_IS_ADMIN=false\u003c/code\u003e after retrieving the admin token, set \u003ccode\u003eKUMA_API_SERVER_CORS_ALLOWED_DOMAINS\u003c/code\u003e to an explicit allowlist such as \u003ccode\u003ehttp://localhost:5681,http://127.0.0.1:5681\u003c/code\u003e, and do not run \u003ccode\u003ekuma-cp\u003c/code\u003e on a machine used to browse untrusted sites.\u003c/p\u003e"
}
],
"value": "Set KUMA_API_SERVER_AUTHN_LOCALHOST_IS_ADMIN=false after retrieving the admin token, set KUMA_API_SERVER_CORS_ALLOWED_DOMAINS to an explicit allowlist such as http://localhost:5681,http://127.0.0.1:5681, and do not run kuma-cp on a machine used to browse untrusted sites."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-18676",
"datePublished": "2026-08-12T18:42:38.843Z",
"dateReserved": "2026-08-03T15:20:44.526Z",
"dateUpdated": "2026-08-12T18:43:32.594Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-18675 (GCVE-0-2026-18675)
Vulnerability from cvelistv5 – Published: 2026-08-12 18:36 – Updated: 2026-08-12 18:36
VLAI
EPSS
VEX
Title
Kong Mesh: control plane denial of service via a malformed dataplane token with a non-string JWT kid
Summary
The dataplane token validator in kuma-cp performs an unchecked Go type assertion on the JWT kid header. A token whose kid is a JSON number decodes as a float64 and triggers a runtime panic before any signature, claims, or authorization check runs.
The panic terminates the entire kuma-cp process, HTTP API, the health and readiness endpoints, and xDS. Unauthenticated access to the dataplane gRPC server can trigger the crash with a malformed token
A single request is a transient interruption; sustaining an outage requires repeated requests.
Severity
Assigner
References
9 references
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"kuma-cp"
],
"platforms": [
"Linux"
],
"product": "Kong Mesh",
"vendor": "Kong Inc.",
"versions": [
{
"lessThan": "2.7.29",
"status": "affected",
"version": "0",
"versionType": "semver"
},
{
"lessThan": "2.9.19",
"status": "affected",
"version": "2.8.0",
"versionType": "semver"
},
{
"lessThan": "2.11.18",
"status": "affected",
"version": "2.10.0",
"versionType": "semver"
},
{
"lessThan": "2.12.14",
"status": "affected",
"version": "2.12.0",
"versionType": "semver"
},
{
"lessThan": "2.13.10",
"status": "affected",
"version": "2.13.0",
"versionType": "semver"
},
{
"lessThan": "2.14.2",
"status": "affected",
"version": "2.14.0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eYou are affected if any control plane has its dataplane (xDS) gRPC server reachable by an untrusted party.\u003c/p\u003e\u003cp\u003eYou are not affected if the dataplane server is reachable only by trusted data planes on an isolated network.\u003c/p\u003e"
}
],
"value": "You are affected if any control plane has its dataplane (xDS) gRPC server reachable by an untrusted party.\n\n\n\nYou are not affected if the dataplane server is reachable only by trusted data planes on an isolated network."
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "https://hackerone.com/0ricky"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eThe dataplane token validator in \u003ccode\u003ekuma-cp\u003c/code\u003e performs an unchecked Go type assertion on the JWT \u003ccode\u003ekid\u003c/code\u003e header. A token whose \u003ccode\u003ekid\u003c/code\u003e is a JSON number decodes as a \u003ccode\u003efloat64\u003c/code\u003e and triggers a runtime panic before any signature, claims, or authorization check runs.\u003c/p\u003e\u003cp\u003eThe panic terminates the entire \u003ccode\u003ekuma-cp\u003c/code\u003e process, HTTP API, the health and readiness endpoints, and xDS. Unauthenticated access to the dataplane gRPC server can trigger the crash with a malformed token\u003c/p\u003e\u003cp\u003eA single request is a transient interruption; sustaining an outage requires repeated requests.\u003c/p\u003e"
}
],
"value": "The dataplane token validator in kuma-cp performs an unchecked Go type assertion on the JWT kid header. A token whose kid is a JSON number decodes as a float64 and triggers a runtime panic before any signature, claims, or authorization check runs.\n\n\n\nThe panic terminates the entire kuma-cp process, HTTP API, the health and readiness endpoints, and xDS. Unauthenticated access to the dataplane gRPC server can trigger the crash with a malformed token\n\n\n\nA single request is a transient interruption; sustaining an outage requires repeated requests."
}
],
"impacts": [
{
"descriptions": [
{
"lang": "en",
"value": "Denial of Service"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "ADJACENT",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "LOW",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-248",
"description": "CWE-248 Uncaught Exception",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-704",
"description": "CWE-704 Incorrect Type Conversion or Cast",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-12T18:36:17.377Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"name": "Upstream advisory GHSA-5mxq-7xq4-3vx8",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/kumahq/kuma/security/advisories/GHSA-5mxq-7xq4-3vx8"
},
{
"name": "kumahq/kuma#17465 (master)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17465"
},
{
"name": "kumahq/kuma#17468 (release-2.14 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17468"
},
{
"name": "kumahq/kuma#17467 (release-2.13 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17467"
},
{
"name": "kumahq/kuma#17471 (release-2.12 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17471"
},
{
"name": "kumahq/kuma#17469 (release-2.11 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17469"
},
{
"name": "kumahq/kuma#17470 (release-2.9 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17470"
},
{
"name": "kumahq/kuma#17472 (release-2.7 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17472"
},
{
"name": "Kong Product Security Advisories",
"tags": [
"release-notes"
],
"url": "https://developer.konghq.com/mesh/changelog/"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUpgrade to Kong Mesh 2.7.29, 2.9.19, 2.11.18, 2.12.14, 2.13.10 or 2.14.2, whichever matches your release line. In patched versions the validator rejects a non-string \u003ccode\u003ekid\u003c/code\u003e header and the dataplane server recovers from handler panics.\u003c/p\u003e"
}
],
"value": "Upgrade to Kong Mesh 2.7.29, 2.9.19, 2.11.18, 2.12.14, 2.13.10 or 2.14.2, whichever matches your release line. In patched versions the validator rejects a non-string kid header and the dataplane server recovers from handler panics."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-08-01T16:58:00.000Z",
"value": "Kong Mesh patched releases published"
}
],
"title": "Kong Mesh: control plane denial of service via a malformed dataplane token with a non-string JWT kid",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eRestrict network access to the dataplane (xDS) gRPC port to trusted data planes.\u003c/p\u003e"
}
],
"value": "Restrict network access to the dataplane (xDS) gRPC port to trusted data planes."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-18675",
"datePublished": "2026-08-12T18:36:17.377Z",
"dateReserved": "2026-08-03T15:20:42.168Z",
"dateUpdated": "2026-08-12T18:36:17.377Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-18673 (GCVE-0-2026-18673)
Vulnerability from cvelistv5 – Published: 2026-08-12 18:20 – Updated: 2026-08-12 18:20
VLAI
EPSS
VEX
Title
Kong Mesh: the kuma-dp readiness service exposes the Envoy admin API without authentication
Summary
When kuma-dp is configured with the Envoy admin API on a Unix domain socket, which is the default, its readiness service on TCP port 9902 - bound to all interfaces - forwards almost the entire Envoy admin API to any caller that can reach the port, with no authentication.
An attacker with network access to a data plane's port 9902, for example another pod on the cluster network, can read Envoy and data plane configuration without credentials: config dumps, cluster and listener lists, stats, and the mesh trust bundle. Exposure is read-only - destructive Envoy admin actions are blocked and private keys are not exposed.
Severity
CWE
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/kumahq/kuma/security/advisorie… | vendor-advisory |
| https://github.com/kumahq/kuma/pull/17317 | patch |
| https://github.com/kumahq/kuma/pull/17418 | patch |
| https://developer.konghq.com/mesh/changelog/ | vendor-advisory |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"kuma-dp"
],
"platforms": [
"Linux"
],
"product": "Kong Mesh",
"vendor": "Kong Inc.",
"versions": [
{
"lessThan": "2.14.2",
"status": "affected",
"version": "2.14.0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eYou are affected if you run \u003ccode\u003ekuma-dp\u003c/code\u003e on the 2.14 line with the Envoy admin API on a Unix domain socket (the default) and TCP port 9902 is reachable from the pod or cluster network.\u003c/p\u003e\u003cp\u003eYou are not affected if:\u003c/p\u003e\u003cul\u003e\u003cli\u003eYou run a release line before 2.14. There the readiness service exposes only \u003ccode\u003e/ready\u003c/code\u003e.\u003c/li\u003e\u003cli\u003ePort 9902 is not reachable by untrusted workloads.\u003c/li\u003e\u003c/ul\u003e"
}
],
"value": "You are affected if you run kuma-dp on the 2.14 line with the Envoy admin API on a Unix domain socket (the default) and TCP port 9902 is reachable from the pod or cluster network.\n\n\n\nYou are not affected if:\n\n * You run a release line before 2.14. There the readiness service exposes only /ready.\n * Port 9902 is not reachable by untrusted workloads."
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "https://hackerone.com/zoom9797"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eWhen \u003ccode\u003ekuma-dp\u003c/code\u003e is configured with the Envoy admin API on a Unix domain socket, which is the default, its readiness service on TCP port 9902 - bound to all interfaces - forwards almost the entire Envoy admin API to any caller that can reach the port, with no authentication.\u003c/p\u003e\u003cp\u003eAn attacker with network access to a data plane\u0027s port 9902, for example another pod on the cluster network, can read Envoy and data plane configuration without credentials: config dumps, cluster and listener lists, stats, and the mesh trust bundle. Exposure is read-only - destructive Envoy admin actions are blocked and private keys are not exposed.\u003c/p\u003e"
}
],
"value": "When kuma-dp is configured with the Envoy admin API on a Unix domain socket, which is the default, its readiness service on TCP port 9902 - bound to all interfaces - forwards almost the entire Envoy admin API to any caller that can reach the port, with no authentication.\n\n\n\nAn attacker with network access to a data plane\u0027s port 9902, for example another pod on the cluster network, can read Envoy and data plane configuration without credentials: config dumps, cluster and listener lists, stats, and the mesh trust bundle. Exposure is read-only - destructive Envoy admin actions are blocked and private keys are not exposed."
}
],
"impacts": [
{
"descriptions": [
{
"lang": "en",
"value": "Information Disclosure"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "ADJACENT",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "LOW",
"vulnConfidentialityImpact": "LOW",
"vulnIntegrityImpact": "LOW",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-200",
"description": "CWE-200 Exposure of Sensitive Information to an Unauthorized Actor",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-306",
"description": "CWE-306 Missing Authentication for Critical Function",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-12T18:20:33.205Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"name": "Upstream advisory GHSA-r9pv-x3pm-4r2w",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/kumahq/kuma/security/advisories/GHSA-r9pv-x3pm-4r2w"
},
{
"name": "kumahq/kuma#17317 (master)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17317"
},
{
"name": "kumahq/kuma#17418 (release-2.14 backport)",
"tags": [
"patch"
],
"url": "https://github.com/kumahq/kuma/pull/17418"
},
{
"name": "Kong Product Security Advisories",
"tags": [
"vendor-advisory"
],
"url": "https://developer.konghq.com/mesh/changelog/"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUpgrade to Kong Mesh 2.14.2. In patched versions the readiness reporter serves only \u003ccode\u003e/ready\u003c/code\u003e; the Envoy admin API stays on the Unix domain socket, which is not reachable over the pod network.\u003c/p\u003e"
}
],
"value": "Upgrade to Kong Mesh 2.14.2. In patched versions the readiness reporter serves only /ready; the Envoy admin API stays on the Unix domain socket, which is not reachable over the pod network."
}
],
"source": {
"discovery": "EXTERNAL"
},
"timeline": [
{
"lang": "en",
"time": "2026-08-01T16:58:00.000Z",
"value": "Kong Mesh 2.14.2 published"
}
],
"title": "Kong Mesh: the kuma-dp readiness service exposes the Envoy admin API without authentication",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eRestrict network access to port 9902 to trusted monitoring only, for example with a Kubernetes NetworkPolicy.\u003c/p\u003e"
}
],
"value": "Restrict network access to port 9902 to trusted monitoring only, for example with a Kubernetes NetworkPolicy."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-18673",
"datePublished": "2026-08-12T18:20:33.205Z",
"dateReserved": "2026-08-03T15:18:30.454Z",
"dateUpdated": "2026-08-12T18:20:33.205Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-17578 (GCVE-0-2026-17578)
Vulnerability from cvelistv5 – Published: 2026-08-05 10:20 – Updated: 2026-08-05 13:07
VLAI
EPSS
VEX
Title
Kong Event Gateway AES-GCM nonce reuse due to missing key rotation enforcement
Summary
Kong Event Gateway versions 1.0.0 through 1.1.1 and 1.2.0 do not enforce key rotation before reaching NIST SP 800-38D recommended usage limit for AES-GCM encryption keys with random nonces when the AWS IAM encryption feature is enabled.
If a producer sends messages at a sustained high rate without key rotation, which only occurs on reboot of the Kong Event Gateway instance, the probability of a nonce collision becomes non-negligible. An authorized consumer who detects a nonce collision can recover parts of plaintext from the affected messages.
New versions 1.1.2 and 1.2.1 enforce automatic key rotation before the recommended usage limit is reached.
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-08-05 13:07 UTC
CWE
- CWE-323 - Reusing a Nonce, Key Pair in Encryption
Assigner
References
1 reference
| URL | Tags |
|---|---|
| https://developer.konghq.com/event-gateway/changelog/ | release-notes |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Kong | Kong Event Gateway |
Affected:
1.0.0 , < 1.1.2
(semver)
Affected: 1.2.0 , < 1.2.1 (semver) |
Date Public
2026-08-05 17:00
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-17578",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-05T13:07:06.628504Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T13:07:23.408Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://hub.docker.com/r/kong/kong-event-gateway",
"defaultStatus": "unaffected",
"packageName": "kong-event-gateway",
"product": "Kong Event Gateway",
"vendor": "Kong",
"versions": [
{
"lessThan": "1.1.2",
"status": "affected",
"version": "1.0.0",
"versionType": "semver"
},
{
"lessThan": "1.2.1",
"status": "affected",
"version": "1.2.0",
"versionType": "semver"
}
]
}
],
"datePublic": "2026-08-05T17:00:00.000Z",
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eKong Event Gateway versions 1.0.0 through 1.1.1 and 1.2.0 do not enforce key rotation before reaching NIST SP 800-38D recommended usage limit for AES-GCM encryption keys with random nonces when the AWS IAM encryption feature is enabled.\u003c/p\u003e\u003cp\u003eIf a producer sends messages at a sustained high rate without key rotation, which only occurs on reboot of the Kong Event Gateway instance, the probability of a nonce collision becomes non-negligible. An authorized consumer who detects a nonce collision can recover parts of plaintext from the affected messages.\u003c/p\u003e\u003cp\u003eNew versions 1.1.2 and 1.2.1 enforce automatic key rotation before the recommended usage limit is reached.\u003c/p\u003e"
}
],
"value": "Kong Event Gateway versions 1.0.0 through 1.1.1 and 1.2.0 do not enforce key rotation before reaching NIST SP 800-38D recommended usage limit for AES-GCM encryption keys with random nonces when the AWS IAM encryption feature is enabled.\n\n\n\nIf a producer sends messages at a sustained high rate without key rotation, which only occurs on reboot of the Kong Event Gateway instance, the probability of a nonce collision becomes non-negligible. An authorized consumer who detects a nonce collision can recover parts of plaintext from the affected messages.\n\n\n\nNew versions 1.1.2 and 1.2.1 enforce automatic key rotation before the recommended usage limit is reached."
}
],
"impacts": [
{
"capecId": "CAPEC-97",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-97 Cryptanalysis"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NO",
"Recovery": "USER",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 2.3,
"baseSeverity": "LOW",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "LOW",
"providerUrgency": "AMBER",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "LOW",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N/AU:N/R:U/U:Amber",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "LOW",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-323",
"description": "CWE-323: Reusing a Nonce, Key Pair in Encryption",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T10:20:55.471Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"tags": [
"release-notes"
],
"url": "https://developer.konghq.com/event-gateway/changelog/"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUpgrade Kong Event Gateway to version 1.1.2 (for the 1.1.x branch or 1.0.x which is no longer supported) or 1.2.1 (for the 1.2.x branch). These versions enforce automatic key rotation before the NIST-recommended usage limit is reached.\u003c/p\u003e"
}
],
"value": "Upgrade Kong Event Gateway to version 1.1.2 (for the 1.1.x branch or 1.0.x which is no longer supported) or 1.2.1 (for the 1.2.x branch). These versions enforce automatic key rotation before the NIST-recommended usage limit is reached."
}
],
"source": {
"discovery": "INTERNAL"
},
"title": "Kong Event Gateway AES-GCM nonce reuse due to missing key rotation enforcement",
"x_generator": {
"engine": "Vulnogram 1.0.4"
}
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-17578",
"datePublished": "2026-08-05T10:20:55.471Z",
"dateReserved": "2026-07-27T15:40:25.996Z",
"dateUpdated": "2026-08-05T13:07:23.408Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-18801 (GCVE-0-2026-18801)
Vulnerability from cvelistv5 – Published: 2026-08-04 14:53 – Updated: 2026-08-04 17:45
VLAI
EPSS
VEX
Title
Stored Clickhouse SQL Injection Through Customer Usage Attribution
Summary
OpenMeter contains a stored, or second-order, SQL injection vulnerability in the handling of customer usage-attribution values.
An attacker who can create or update a customer can store a malicious value in the usageAttribution.key or usageAttribution.subjectKeys fields. When that customer is subsequently used in a meter or event query, OpenMeter inserts the stored value into a ClickHouse WITH map(...) expression using string concatenation.
OpenMeter versions from v1.0.0-beta.218 through v1.0.0-beta.231 are affected.
Severity
SSVC
Exploitation: none
Automatable: yes
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-08-04 17:45 UTC
CWE
- CWE-20 - Improper input validation
Assigner
References
1 reference
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-18801",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-04T17:45:41.382410Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-04T17:45:57.502Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"platforms": [
"Linux"
],
"product": "openmeter",
"repo": "https://github.com/openmeterio/openmeter/",
"vendor": "openmeter",
"versions": [
{
"lessThanOrEqual": "v1.0.0-beta.231",
"status": "affected",
"version": "v1.0.0-beta.218",
"versionType": "git"
}
]
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003e\u003cspan\u003eOpenMeter contains a stored, or second-order, SQL injection vulnerability in the handling of customer usage-attribution values.\u003c/span\u003e\u003c/p\u003e\u003cp\u003e\u003cspan\u003eAn attacker who can create or update a customer can store a malicious value in the \u003c/span\u003e\u003ccode\u003e\u003cspan\u003eusageAttribution.key\u003c/span\u003e\u003c/code\u003e\u003cspan\u003e or \u003c/span\u003e\u003ccode\u003e\u003cspan\u003eusageAttribution.subjectKeys\u003c/span\u003e\u003c/code\u003e\u003cspan\u003e fields. When that customer is subsequently used in a meter or event query, OpenMeter inserts the stored value into a ClickHouse \u003c/span\u003e\u003ccode\u003e\u003cspan\u003eWITH map(...)\u003c/span\u003e\u003c/code\u003e\u003cspan\u003e expression using string concatenation.\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eOpenMeter versions from \u003c/span\u003e\u003ccode\u003e\u003cspan\u003ev1.0.0-beta.218\u003c/span\u003e\u003c/code\u003e\u003cspan\u003e through \u003c/span\u003e\u003ccode\u003e\u003cspan\u003ev1.0.0-beta.231\u003c/span\u003e\u003c/code\u003e\u003cspan\u003e are affected.\u003c/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e\u003c/span\u003e\u003c/p\u003e"
}
],
"value": "OpenMeter contains a stored, or second-order, SQL injection vulnerability in the handling of customer usage-attribution values.\n\n\n\nAn attacker who can create or update a customer can store a malicious value in the usageAttribution.key or usageAttribution.subjectKeys fields. When that customer is subsequently used in a meter or event query, OpenMeter inserts the stored value into a ClickHouse WITH map(...) expression using string concatenation.\n\nOpenMeter versions from v1.0.0-beta.218 through v1.0.0-beta.231 are affected."
}
],
"impacts": [
{
"capecId": "CAPEC-66",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-66 SQL Injection"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 9.3,
"baseSeverity": "CRITICAL",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "LOW",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:H/SC:H/SI:L/SA:H",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "LOW",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20 Improper input validation",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-04T14:53:01.659Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"url": "https://github.com/openmeterio/openmeter/security/advisories/GHSA-m2fw-9wxq-jgf5"
}
],
"source": {
"discovery": "UNKNOWN"
},
"title": "Stored Clickhouse SQL Injection Through Customer Usage Attribution",
"x_generator": {
"engine": "Vulnogram 1.0.4"
}
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-18801",
"datePublished": "2026-08-04T14:53:01.659Z",
"dateReserved": "2026-08-04T11:15:31.572Z",
"dateUpdated": "2026-08-04T17:45:57.502Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-16543 (GCVE-0-2026-16543)
Vulnerability from cvelistv5 – Published: 2026-07-29 15:29 – Updated: 2026-07-29 17:57
VLAI
EPSS
VEX
Title
Kong Operator cluster-wide ingress configuration DoS via embedded KIC CA-certificate ID collision
Summary
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.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-29 17:57 UTC
Assigner
References
1 reference
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-16543",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-29T17:57:12.581830Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-29T17:57:21.328Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com",
"defaultStatus": "unaffected",
"packageName": "Kong/kong-operator",
"repo": "https://github.com/Kong/kong-operator",
"versions": [
{
"lessThan": "2.2.3",
"status": "affected",
"version": "2.2.0",
"versionType": "semver"
},
{
"lessThan": "2.1.9",
"status": "affected",
"version": "2.1.0",
"versionType": "semver"
},
{
"lessThan": "2.0.11",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eYou are affected if\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003eall\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eof the following hold:\u003c/p\u003e\u003col\u003e\u003cli\u003eYou are running Kong Operator with an on-prem Gateway, managed via a\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003e\u003ccode\u003eControlPlane\u003c/code\u003e\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eresource that uses the embedded KIC.\u003c/li\u003e\u003cli\u003eThe\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eControlPlane\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eis configured with\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003e\u003ccode\u003espec.watchNamespaces.type: All\u003c/code\u003e\u003c/strong\u003e, causing the embedded KIC to watch Secrets cluster-wide.\u003c/li\u003e\u003cli\u003eYour cluster hosts\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003emultiple tenants\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003ewhere not all users are fully trusted operators.\u003c/li\u003e\u003cli\u003eUntrusted users have RBAC permission to\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003ecreate Secrets\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003ein any namespace watched by the\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eControlPlane\u003c/code\u003e, and are not prevented from applying both the\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/secret=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eand\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/ca-cert=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003elabels.\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eYou are\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003enot\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eaffected if:\u003c/p\u003e\u003cul\u003e\u003cli\u003eThe\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eControlPlane\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003euses\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003espec.watchNamespaces.type: Own\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eor a tightly scoped\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003espec.watchNamespaces.type: List\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003ecovering only namespaces whose users are all fully trusted.\u003c/li\u003e\u003cli\u003eRBAC policies prevent untrusted users from creating Secrets with the labels\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/secret=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eand\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/ca-cert=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003ein any namespace watched by the\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eControlPlane\u003c/code\u003e.\u003c/li\u003e\u003cli\u003eYou are using Kong Operator exclusively with Konnect-managed control planes (the vulnerability is in the embedded on-prem KIC path only).\u003c/li\u003e\u003c/ul\u003e"
}
],
"value": "You are affected if\u00a0all\u00a0of the following hold:\n\n * You are running Kong Operator with an on-prem Gateway, managed via a\u00a0ControlPlane\u00a0resource that uses the embedded KIC.\n * The\u00a0ControlPlane\u00a0is configured with\u00a0spec.watchNamespaces.type: All, causing the embedded KIC to watch Secrets cluster-wide.\n * Your cluster hosts\u00a0multiple tenants\u00a0where not all users are fully trusted operators.\n * Untrusted users have RBAC permission to\u00a0create Secrets\u00a0in any namespace watched by the\u00a0ControlPlane, and are not prevented from applying both the\u00a0konghq.com/secret=true\u00a0and\u00a0konghq.com/ca-cert=true\u00a0labels.\n\n\nYou are\u00a0not\u00a0affected if:\n\n * The\u00a0ControlPlane\u00a0uses\u00a0spec.watchNamespaces.type: Own\u00a0or a tightly scoped\u00a0spec.watchNamespaces.type: List\u00a0covering only namespaces whose users are all fully trusted.\n * RBAC policies prevent untrusted users from creating Secrets with the labels\u00a0konghq.com/secret=true\u00a0and\u00a0konghq.com/ca-cert=true\u00a0in any namespace watched by the\u00a0ControlPlane.\n * You are using Kong Operator exclusively with Konnect-managed control planes (the vulnerability is in the embedded on-prem KIC path only)."
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eKong Operator\u0027s 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. T\u003cspan\u003ehe 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.\u003c/span\u003e\u003c/p\u003e"
}
],
"value": "Kong Operator\u0027s 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."
}
],
"impacts": [
{
"capecId": "CAPEC-240",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-240 Resource Injection"
}
]
},
{
"descriptions": [
{
"lang": "en",
"value": "Denial of Service"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "LOW",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-862",
"description": "CWE-862",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-400",
"description": "CWE-400",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-29T15:29:03.485Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"url": "https://github.com/Kong/kong-operator/security/advisories/GHSA-h4fh-j7xg-vwcx"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cspan\u003eUpgrade to the patched version of Kong Operator: 2.2.3, 2.1.9 or 2.0.11.\u003c/span\u003e"
}
],
"value": "Upgrade to the patched version of Kong Operator: 2.2.3, 2.1.9 or 2.0.11."
}
],
"source": {
"discovery": "INTERNAL"
},
"title": "Kong Operator cluster-wide ingress configuration DoS via embedded KIC CA-certificate ID collision",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cstrong\u003e1. Restrict\u0026nbsp;\u003ccode\u003eControlPlane\u003c/code\u003e\u0026nbsp;watch scope\u003c/strong\u003e\u003cspan\u003e: Change\u003c/span\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003espec.watchNamespaces.type\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cspan\u003efrom\u003c/span\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eAll\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cspan\u003eto\u003c/span\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eOwn\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cspan\u003eor a narrowly defined\u003c/span\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eList\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cspan\u003ethat covers only namespaces whose users are trusted operators. This prevents the embedded KIC from ingesting Secrets from untrusted namespaces.\u003c/span\u003e\u003cdiv\u003e\u003cspan\u003e\u003cstrong\u003e2. Restrict Secret labeling via RBAC\u003c/strong\u003e\u003cspan\u003e: Use Kubernetes RBAC to prevent untrusted users from creating or modifying Secrets with the labels\u003c/span\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/secret=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cspan\u003eand\u003c/span\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/ca-cert=true\u003c/code\u003e\u003cspan\u003e. Consider using an admission webhook or OPA/Kyverno policy to enforce this label restriction.\u003c/span\u003e\u003cbr\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv\u003e\u003cspan\u003e\u003cspan\u003e\u003cstrong\u003e3. Audit existing CA-cert Secrets\u003c/strong\u003e\u003cspan\u003e: Inspect Secrets labeled\u003c/span\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/ca-cert=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cspan\u003eacross all watched namespaces for unexpected or duplicate\u003c/span\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003edata.id\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cspan\u003evalues. Remove any that were not provisioned by a trusted operator.\u003c/span\u003e\u003cbr\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e"
}
],
"value": "1. Restrict\u00a0ControlPlane\u00a0watch scope: Change\u00a0spec.watchNamespaces.type\u00a0from\u00a0All\u00a0to\u00a0Own\u00a0or a narrowly defined\u00a0List\u00a0that 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\u00a0konghq.com/secret=true\u00a0and\u00a0konghq.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\u00a0konghq.com/ca-cert=true\u00a0across all watched namespaces for unexpected or duplicate\u00a0data.id\u00a0values. Remove any that were not provisioned by a trusted operator."
}
],
"x_generator": {
"engine": "Vulnogram 1.0.4"
}
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-16543",
"datePublished": "2026-07-29T15:29:03.485Z",
"dateReserved": "2026-07-22T09:53:31.062Z",
"dateUpdated": "2026-07-29T17:57:21.328Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-15228 (GCVE-0-2026-15228)
Vulnerability from cvelistv5 – Published: 2026-07-29 15:28 – Updated: 2026-07-29 15:53
VLAI
EPSS
VEX
Title
Kong Kubernetes Ingress Controller cluster-wide ingress configuration DoS via CA-certificate ID collision
Summary
Kong Kubernetes Ingress Controller (KIC) allows a user with namespace-scoped Secret creation privileges to cause a cluster-wide ingress configuration denial of service. 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.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-29 15:53 UTC
Assigner
References
1 reference
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-15228",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-29T15:53:16.091813Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-29T15:53:22.898Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://github.com",
"defaultStatus": "unaffected",
"packageName": "Kong/kubernetes-ingress-controller",
"repo": "https://github.com/Kong/kubernetes-ingress-controller",
"versions": [
{
"lessThan": "3.4.18",
"status": "affected",
"version": "3.4.0",
"versionType": "semver"
},
{
"lessThan": "3.5.11",
"status": "affected",
"version": "3.5.0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eYou are affected if\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003eall\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eof the following hold:\u003c/p\u003e\u003col\u003e\u003cli\u003eKIC is configured without\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003e`--watch-namespace\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eCLI flag, causing the KIC to watch Secrets cluster-wide.\u003c/li\u003e\u003cli\u003eYour cluster hosts\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003emultiple tenants\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003ewhere not all users are fully trusted.\u003c/li\u003e\u003cli\u003eUntrusted users have RBAC permission to\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003ecreate Secrets\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003ein any namespace watched by the\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eControlPlane\u003c/code\u003e, and are not prevented from applying\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/ca-cert=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003elabels.\u003c/li\u003e\u003c/ol\u003e\u003cp\u003eYou are\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003cstrong\u003enot\u003c/strong\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eaffected if:\u003c/p\u003e\u003cul\u003e\u003cli\u003eKIC has\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003e--watch-namespace\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003ethat is set to only include trusted namespaces.\u003c/li\u003e\u003cli\u003eRBAC policies prevent untrusted users from creating Secrets with the labels\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/ca-cert=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003ein any namespace watched by KIC.\u003c/li\u003e\u003c/ul\u003e"
}
],
"value": "You are affected if\u00a0all\u00a0of the following hold:\n\n * KIC is configured without\u00a0`--watch-namespace\u00a0CLI flag, causing the KIC to watch Secrets cluster-wide.\n * Your cluster hosts\u00a0multiple tenants\u00a0where not all users are fully trusted.\n * Untrusted users have RBAC permission to\u00a0create Secrets\u00a0in any namespace watched by the\u00a0ControlPlane, and are not prevented from applying\u00a0konghq.com/ca-cert=true\u00a0labels.\n\n\nYou are\u00a0not\u00a0affected if:\n\n * KIC has\u00a0--watch-namespace\u00a0that is set to only include trusted namespaces.\n * RBAC policies prevent untrusted users from creating Secrets with the labels\u00a0konghq.com/ca-cert=true\u00a0in any namespace watched by KIC."
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eKong Kubernetes Ingress Controller (KIC) allows a user with namespace-scoped Secret creation privileges to cause a cluster-wide ingress configuration denial of service. 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.\u003c/p\u003e"
}
],
"value": "Kong Kubernetes Ingress Controller (KIC) allows a user with namespace-scoped Secret creation privileges to cause a cluster-wide ingress configuration denial of service. 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."
}
],
"impacts": [
{
"capecId": "CAPEC-240",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-240 Resource Injection"
}
]
},
{
"descriptions": [
{
"lang": "en",
"value": "Denial of Service"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "LOW",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-862",
"description": "CWE-862",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-400",
"description": "CWE-400",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-29T15:28:30.362Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"url": "https://github.com/Kong/kubernetes-ingress-controller/security/advisories/GHSA-g9h6-h2xj-mf78"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cspan\u003eUsers should upgrade to the patched version of KIC (3.4.18; 3.5.11)\u003c/span\u003e"
}
],
"value": "Users should upgrade to the patched version of KIC (3.4.18; 3.5.11)"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Kong Kubernetes Ingress Controller cluster-wide ingress configuration DoS via CA-certificate ID collision",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003col\u003e\u003cli\u003e\u003cp\u003e\u003cstrong\u003eRestrict watch scope\u003c/strong\u003e: Set\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003e--watch-namespace\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003e(or env\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003eCONTROLLER_WATCH_NAMESPACE\u003c/code\u003e) to only include trusted namespaces. This prevents the embedded KIC from ingesting Secrets from untrusted namespaces.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cstrong\u003eRestrict Secret labeling via RBAC\u003c/strong\u003e: Use Kubernetes RBAC to prevent untrusted users from creating or modifying Secrets with the labels\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/secret=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eand\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/ca-cert=true\u003c/code\u003e. Consider using an admission webhook or OPA/Kyverno policy to enforce this label restriction.\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\u003cstrong\u003eAudit existing CA-cert Secrets\u003c/strong\u003e: Inspect Secrets labeled\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003ekonghq.com/ca-cert=true\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003eacross all watched namespaces for unexpected or duplicate\u003cspan\u003e\u0026nbsp;\u003c/span\u003e\u003ccode\u003edata.id\u003c/code\u003e\u003cspan\u003e\u0026nbsp;\u003c/span\u003evalues. Remove any that were not provisioned by a trusted operator.\u003c/p\u003e\u003c/li\u003e\u003c/ol\u003e"
}
],
"value": "* \n\nRestrict watch scope: Set\u00a0--watch-namespace\u00a0(or env\u00a0CONTROLLER_WATCH_NAMESPACE) to only include trusted namespaces. This prevents the embedded KIC from ingesting Secrets from untrusted namespaces.\n\n\n * \n\nRestrict Secret labeling via RBAC: Use Kubernetes RBAC to prevent untrusted users from creating or modifying Secrets with the labels\u00a0konghq.com/secret=true\u00a0and\u00a0konghq.com/ca-cert=true. Consider using an admission webhook or OPA/Kyverno policy to enforce this label restriction.\n\n\n * \n\nAudit existing CA-cert Secrets: Inspect Secrets labeled\u00a0konghq.com/ca-cert=true\u00a0across all watched namespaces for unexpected or duplicate\u00a0data.id\u00a0values. Remove any that were not provisioned by a trusted operator."
}
],
"x_generator": {
"engine": "Vulnogram 1.0.4"
}
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-15228",
"datePublished": "2026-07-29T15:28:30.362Z",
"dateReserved": "2026-07-09T10:50:51.533Z",
"dateUpdated": "2026-07-29T15:53:22.898Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-13341 (GCVE-0-2026-13341)
Vulnerability from cvelistv5 – Published: 2026-07-03 10:19 – Updated: 2026-07-06 17:29
VLAI
EPSS
VEX
Title
Prompt Injection and Credential Exposure via Untrusted Analytics Data in Kong Konnect MCP
Summary
A vulnerability exists in the Kong Konnect Model Context Protocol (MCP) server prior to version 1.0.0, which could allow a remote attacker to perform an indirect prompt injection attack and execute unintended API requests.
Severity
7.4 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-07-06 17:29 UTC
CWE
- CWE-20 - Improper input validation
Assigner
References
1 reference
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| KongHQ | mcp-konnect |
Affected:
0 , < 1.0.0
(semver)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-13341",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-06T17:29:13.858437Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-06T17:29:24.789Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "mcp-konnect",
"vendor": "KongHQ",
"versions": [
{
"lessThan": "1.0.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Eli Ainhorn (https://www.linkedin.com/in/eli-ainhorn/), Noma Security (https://noma.security)"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "A vulnerability exists in the Kong Konnect Model Context Protocol (MCP) server prior to version 1.0.0, which could allow a remote attacker to perform an indirect prompt injection attack and execute unintended API requests."
}
],
"value": "A vulnerability exists in the Kong Konnect Model Context Protocol (MCP) server prior to version 1.0.0, which could allow a remote attacker to perform an indirect prompt injection attack and execute unintended API requests."
}
],
"impacts": [
{
"capecId": "CAPEC-1000",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-1000"
}
]
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.4,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "CHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20 Improper input validation",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-03T10:19:10.646Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"url": "https://github.com/Kong/mcp-konnect/security/advisories/GHSA-7767-3m3w-2p44"
}
],
"source": {
"discovery": "UNKNOWN"
},
"title": "Prompt Injection and Credential Exposure via Untrusted Analytics Data in Kong Konnect MCP",
"x_generator": {
"engine": "Vulnogram 1.0.2"
}
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-13341",
"datePublished": "2026-07-03T10:19:10.646Z",
"dateReserved": "2026-06-25T14:11:55.561Z",
"dateUpdated": "2026-07-06T17:29:24.789Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-6338 (GCVE-0-2026-6338)
Vulnerability from cvelistv5 – Published: 2026-06-11 13:47 – Updated: 2026-06-11 14:23
VLAI
EPSS
VEX
Title
HTTP request smuggling in Kong Enteprise Gateway
Summary
A HTTP request smuggling and desynchronization vulnerability affects Kong Gateway Enterprise 3.4, 3.10, 3.11, 3.12, 3.13, and 3.14 series. The vulnerability is caused by a parsing flaw in Kong’s HTTP request processing pipeline when handling untrusted HTTP/1.1 traffic.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-06-11 14:22 UTC
CWE
- CWE-444 - Inconsistent interpretation of HTTP requests ('HTTP Request/Response smuggling')
Assigner
References
1 reference
| URL | Tags |
|---|---|
| https://support.konghq.com/support/s/article/CVE-… | vendor-advisory |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| Kong | Kong Enterprise Gateway |
Affected:
3.4.0.0 , < 3.4.3.27
(kong enteprise gateway 3.4)
Affected: 3.10.0.0 , < 3.10.0.12 (kong enteprise gateway 3.10) Affected: 3.11.0.0 , < 3.11.0.12 (kong enteprise gateway 3.11) Affected: 3.12.0.0 , < 3.12.0.7 (kong enteprise gateway 3.12) Affected: 3.13.0.0 , < 3.13.0.5 (kong enteprise gateway 3.13) Affected: 3.14.0.0 , < 3.14.0.4 (kong enteprise gateway 3.14) |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-6338",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-06-11T14:22:42.512428Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-06-11T14:23:21.941Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"platforms": [
"Linux"
],
"product": "Kong Enterprise Gateway",
"vendor": "Kong",
"versions": [
{
"lessThan": "3.4.3.27",
"status": "affected",
"version": "3.4.0.0",
"versionType": "kong enteprise gateway 3.4"
},
{
"lessThan": "3.10.0.12",
"status": "affected",
"version": "3.10.0.0",
"versionType": "kong enteprise gateway 3.10"
},
{
"lessThan": "3.11.0.12",
"status": "affected",
"version": "3.11.0.0",
"versionType": "kong enteprise gateway 3.11"
},
{
"lessThan": "3.12.0.7",
"status": "affected",
"version": "3.12.0.0",
"versionType": "kong enteprise gateway 3.12"
},
{
"lessThan": "3.13.0.5",
"status": "affected",
"version": "3.13.0.0",
"versionType": "kong enteprise gateway 3.13"
},
{
"lessThan": "3.14.0.4",
"status": "affected",
"version": "3.14.0.0",
"versionType": "kong enteprise gateway 3.14"
}
]
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "A HTTP request smuggling and desynchronization vulnerability affects Kong Gateway Enterprise 3.4, 3.10, 3.11, 3.12, 3.13, and 3.14 series. The vulnerability is caused by a parsing flaw in Kong\u2019s HTTP request processing pipeline when handling untrusted HTTP/1.1 traffic.\u0026nbsp;"
}
],
"value": "A HTTP request smuggling and desynchronization vulnerability affects Kong Gateway Enterprise 3.4, 3.10, 3.11, 3.12, 3.13, and 3.14 series. The vulnerability is caused by a parsing flaw in Kong\u2019s HTTP request processing pipeline when handling untrusted HTTP/1.1 traffic."
}
],
"impacts": [
{
"capecId": "CAPEC-33",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-33 HTTP Request Smuggling"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "AUTOMATIC",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 4.9,
"baseSeverity": "MEDIUM",
"exploitMaturity": "PROOF_OF_CONCEPT",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:P/R:A/RE:M",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "MODERATE"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-444",
"description": "CWE-444 Inconsistent interpretation of HTTP requests (\u0027HTTP Request/Response smuggling\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-06-11T13:47:01.309Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"tags": [
"vendor-advisory"
],
"url": "https://support.konghq.com/support/s/article/CVE-2026-6338"
}
],
"source": {
"discovery": "UNKNOWN"
},
"title": "HTTP request smuggling in Kong Enteprise Gateway",
"x_generator": {
"engine": "Vulnogram 1.0.2"
}
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2026-6338",
"datePublished": "2026-06-11T13:47:01.309Z",
"dateReserved": "2026-04-15T10:07:35.856Z",
"dateUpdated": "2026-06-11T14:23:21.941Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2025-1087 (GCVE-0-2025-1087)
Vulnerability from cvelistv5 – Published: 2025-05-09 11:37 – Updated: 2025-09-17 13:48
VLAI
EPSS
VEX
Title
Arbitrary Code Execution in Kong Insomnia Desktop Application
Summary
Kong Insomnia Desktop Application before 11.0.2 contains a template injection vulnerability that allows attackers to execute arbitrary code. The vulnerability exists due to insufficient validation of user-supplied input when processing template strings, which can lead to arbitrary JavaScript execution in the context of the application.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2025-05-09 14:15 UTC
CWE
Assigner
References
2 references
Impacted products
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2025-1087",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2025-05-09T14:15:18.409092Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2025-05-09T14:20:05.688Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2025-09-17T13:48:50.101Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"url": "https://tantosec.com/blog/2025/06/insomnia-api-client-template-injection/"
}
],
"title": "CVE Program Container",
"x_generator": {
"engine": "ADPogram 0.0.1"
}
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"modules": [
"Insomnia Desktop Application (GUI)"
],
"packageName": "insomnia-desktop",
"platforms": [
"Windows",
"Linux",
"MacOS"
],
"product": "Insomnia",
"vendor": "Kong Inc.",
"versions": [
{
"lessThanOrEqual": "11.0.2",
"status": "affected",
"version": "n/a",
"versionType": "semver"
}
]
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cspan style=\"background-color: rgba(232, 232, 232, 0.04);\"\u003eKong Insomnia Desktop Application before 11.0.2 contains a template injection vulnerability that allows attackers to execute arbitrary code. The vulnerability exists due to insufficient validation of user-supplied input when processing template strings, which can lead to arbitrary JavaScript execution in the context of the application.\n\u003c/span\u003e\u003cbr\u003e\u003cbr\u003e"
}
],
"value": "Kong Insomnia Desktop Application before 11.0.2 contains a template injection vulnerability that allows attackers to execute arbitrary code. The vulnerability exists due to insufficient validation of user-supplied input when processing template strings, which can lead to arbitrary JavaScript execution in the context of the application."
}
],
"impacts": [
{
"capecId": "CAPEC-242",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-242 Code Injection"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 9.3,
"baseSeverity": "CRITICAL",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "LOW",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "ACTIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L",
"version": "4.0",
"vulnAvailabilityImpact": "LOW",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-20",
"description": "CWE-20 Improper Input Validation",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-94",
"description": "CWE-94 Improper Control of Generation of Code (\u0027Code Injection\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2025-05-09T11:37:49.660Z",
"orgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"shortName": "Kong"
},
"references": [
{
"url": "https://github.com/Kong/insomnia"
}
],
"source": {
"discovery": "UNKNOWN"
},
"title": "Arbitrary Code Execution in Kong Insomnia Desktop Application",
"x_generator": {
"engine": "Vulnogram 0.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "02762ae7-200e-4b20-9b2b-a77d5b8fc4cb",
"assignerShortName": "Kong",
"cveId": "CVE-2025-1087",
"datePublished": "2025-05-09T11:37:49.660Z",
"dateReserved": "2025-02-06T15:18:44.822Z",
"dateUpdated": "2025-09-17T13:48:50.101Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.1"
}