Skip to main content

Kong Mesh EUVDEUVD-2026-57423

| CVE-2026-18676 MEDIUM
Origin Validation Error (CWE-346)
2026-08-12 Kong GHSA-x23j-4pcq-m26j
5.1
CVSS 4.0 · Vendor: Kong
Share

Severity by source

Vendor (Kong) PRIMARY
5.1 MEDIUM
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
vuln.today AI
6.8 MEDIUM

AC:H because three conditions must simultaneously hold; C:H/I:H because leaked admin JWT enables full mesh control-plane compromise.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Kong).

CVSS VectorVendor: Kong

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
A
Scope
X

Lifecycle Timeline

2
Source Code Evidence Fetched
Aug 12, 2026 - 19:23 vuln.today
Analysis Generated
Aug 12, 2026 - 19:23 vuln.today

DescriptionCVE.org

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.

AnalysisAI

Kong Mesh's control plane (kuma-cp) exposes the admin bootstrap token and JWT signing keys to any malicious webpage visited by an operator while the control plane is browser-reachable, due to two compounding default misconfigurations. The default CORS wildcard (CorsAllowedDomains: [".*"]) reflects any attacker-controlled Origin header, and the default LocalhostIsAdmin: true promotes loopback-sourced browser requests to mesh-system:admin without credential validation - a cross-origin fetch() from an attacker page is sufficient to receive full administrative credentials. This affects kuma-cp versions prior to 2.7.25, 2.9.15, 2.11.13, and 2.12.10; no public exploit has been identified at time of analysis, and the vulnerability is not listed in the CISA KEV catalog.

Technical ContextAI

The root cause is CWE-346 (Origin Validation Error): kuma-cp's API server performs loopback-address authentication (LocalhostIsAdmin) based solely on the TCP RemoteAddr, without cross-referencing the HTTP Origin header or proxy-hop headers. When a browser on the same host issues a cross-origin fetch() to localhost:5681, the TCP connection legitimately originates from 127.0.0.1, satisfying the loopback check. The API server then elevates the request to mesh-system:admin and the CORS wildcard (CorsAllowedDomains: [".*"]) reflects the attacker's Origin back, making the response readable by the attacker's JavaScript. The affected package is go/github.com/kumahq/kuma (CPE: cpe:2.3:a:kong_inc.:kong_mesh:*:*:*:*:*:*:*:*). The fix tightens isDirectLoopbackRequest() to additionally validate that no proxy-hop headers (X-Forwarded-For, Forwarded, X-Real-IP), cross-site fetch metadata (Sec-Fetch-Site), or a non-localhost Origin are present, and changes the CORS default from a wildcard to an empty allowlist.

RemediationAI

The primary fix is upgrading kuma-cp to a patched release: 2.7.25, 2.9.15, 2.11.13, or 2.12.10 depending on the active release branch, per the GHSA advisory at https://github.com/kumahq/kuma/security/advisories/GHSA-3vcp-chfh-f6r2. Patched versions change CorsAllowedDomains default to empty (opt-in CORS) and harden LocalhostIsAdmin to reject requests bearing proxy-hop headers, cross-site fetch metadata, or a non-localhost Origin. If immediate upgrade is not possible, two environment-variable mitigations can be applied: set KUMA_API_SERVER_AUTHN_LOCALHOST_IS_ADMIN=false (trade-off: initial kumactl bootstrap must switch to token-based auth via kumactl config control-planes add --auth-type=tokens) and set KUMA_API_SERVER_CORS_ALLOWED_DOMAINS to an explicit allowlist such as http://localhost:5681,http://127.0.0.1:5681 (trade-off: breaks any custom GUI on a different origin until explicitly listed). A third operational control - not running kuma-cp on a machine used for general web browsing - eliminates the attack surface without configuration changes but is operationally fragile. The fix PRs are https://github.com/kumahq/kuma/pull/16416 (primary) with backports in PRs 16423-16427.

Share

EUVD-2026-57423 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy