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",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2026-18676\",\"sourceIdentifier\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\",\"published\":\"2026-08-12T19:17:30.813\",\"lastModified\":\"2026-08-12T19:17:30.813\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"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.\"}],\"affected\":[{\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\",\"affectedData\":[{\"vendor\":\"Kong Inc.\",\"product\":\"Kong Mesh\",\"defaultStatus\":\"unaffected\",\"modules\":[\"kuma-cp\"],\"platforms\":[\"Linux\"],\"versions\":[{\"version\":\"0\",\"lessThan\":\"2.7.25\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"2.8.0\",\"lessThan\":\"2.9.15\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"2.10.0\",\"lessThan\":\"2.11.13\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"2.12.0\",\"lessThan\":\"2.12.10\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"2.13.0\",\"lessThan\":\"2.13.5\",\"versionType\":\"semver\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV40\":[{\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"4.0\",\"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X\",\"baseScore\":5.1,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"attackRequirements\":\"NONE\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"ACTIVE\",\"vulnConfidentialityImpact\":\"LOW\",\"vulnIntegrityImpact\":\"LOW\",\"vulnAvailabilityImpact\":\"NONE\",\"subConfidentialityImpact\":\"NONE\",\"subIntegrityImpact\":\"NONE\",\"subAvailabilityImpact\":\"NONE\",\"exploitMaturity\":\"NOT_DEFINED\",\"confidentialityRequirement\":\"NOT_DEFINED\",\"integrityRequirement\":\"NOT_DEFINED\",\"availabilityRequirement\":\"NOT_DEFINED\",\"modifiedAttackVector\":\"NOT_DEFINED\",\"modifiedAttackComplexity\":\"NOT_DEFINED\",\"modifiedAttackRequirements\":\"NOT_DEFINED\",\"modifiedPrivilegesRequired\":\"NOT_DEFINED\",\"modifiedUserInteraction\":\"NOT_DEFINED\",\"modifiedVulnConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedVulnIntegrityImpact\":\"NOT_DEFINED\",\"modifiedVulnAvailabilityImpact\":\"NOT_DEFINED\",\"modifiedSubConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedSubIntegrityImpact\":\"NOT_DEFINED\",\"modifiedSubAvailabilityImpact\":\"NOT_DEFINED\",\"Safety\":\"NOT_DEFINED\",\"Automatable\":\"NOT_DEFINED\",\"Recovery\":\"NOT_DEFINED\",\"valueDensity\":\"NOT_DEFINED\",\"vulnerabilityResponseEffort\":\"NOT_DEFINED\",\"providerUrgency\":\"NOT_DEFINED\"}}]},\"weaknesses\":[{\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-346\"},{\"lang\":\"en\",\"value\":\"CWE-942\"}]}],\"references\":[{\"url\":\"https://developer.konghq.com/mesh/changelog/\",\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\"},{\"url\":\"https://github.com/kumahq/kuma/pull/16416\",\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\"},{\"url\":\"https://github.com/kumahq/kuma/pull/16423\",\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\"},{\"url\":\"https://github.com/kumahq/kuma/pull/16424\",\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\"},{\"url\":\"https://github.com/kumahq/kuma/pull/16425\",\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\"},{\"url\":\"https://github.com/kumahq/kuma/pull/16426\",\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\"},{\"url\":\"https://github.com/kumahq/kuma/pull/16427\",\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\"},{\"url\":\"https://github.com/kumahq/kuma/security/advisories/GHSA-3vcp-chfh-f6r2\",\"source\":\"02762ae7-200e-4b20-9b2b-a77d5b8fc4cb\"}]}}"
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Loading…
Loading…