GHSA-qh9r-j7rp-4x2m
OpenChoreo: Unauthenticated access to data-plane operations via OpenChoreo cluster-gateway management APIs
Quick fix
GHSA-qh9r-j7rp-4x2m — github.com/openchoreo/openchoreo: upgrade to the fixed version with the command below.
go get github.com/openchoreo/openchoreo@v1.0.2Details
### Summary The OpenChoreo control-plane **cluster-gateway** served its caller-facing management APIs on the same network listener that accepts data-plane agent connections. In the multi-cluster topology that listener is published outside the cluster, and the management APIs did not authenticate the calling client. A party able to reach the listener could therefore invoke privileged data-plane operations without authenticating and without passing through the OpenChoreo API server's authorization.
### Impact An attacker who can reach the externally published cluster-gateway endpoint can perform data-plane operations normally restricted to the OpenChoreo API server and gated by its authorization — including proxying the data plane's Kubernetes API and executing commands inside workload pods. This can result in full compromise of workloads on the affected data plane (disclosure, tampering, and denial of service).
The exposure applies to the multi-cluster / remote data-plane topology, where the cluster-gateway is published outside the cluster so remote data-plane agents can connect. That same externally reachable listener also served the caller-facing management APIs, which did not authenticate the caller. Deployments that do not publish the cluster-gateway outside the cluster are not affected.
### Patches Fixed in **1.0.2**, **1.1.2**, and **1.2.0**. The fix moves the caller-facing management APIs onto a separate internal listener that is not published outside the cluster, leaving only the agent-connection endpoint on the externally reachable listener. Upgrading is non-disruptive — no data-plane agent or configuration changes are required beyond the standard chart upgrade. Upgrade path: 1.1.x → 1.1.2, 1.0.x and earlier → 1.0.2, 1.2 line → 1.2.0.
### Workarounds If you cannot upgrade immediately: - If you do run remote data planes, restrict reachability of the external gateway endpoint to known data-plane source addresses only (firewall / gateway-level allowlisting).
Are you affected?
Enter the version of the package you're using.
Affected packages
0Fixed in: 1.0.2go get github.com/openchoreo/openchoreo@v1.0.21.1.0Fixed in: 1.1.2go get github.com/openchoreo/openchoreo@v1.1.2References
- https://github.com/openchoreo/openchoreo/security/advisories/GHSA-qh9r-j7rp-4x2m[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2026-73843[ADVISORY]
- https://github.com/openchoreo/openchoreo/pull/4122[WEB]
- https://github.com/openchoreo/openchoreo/commit/047d80ddc63b4b4b9dd67044d5cffcdbd77685ce[WEB]
- https://github.com/openchoreo/openchoreo/commit/0aa0ffe1623bd8eb4235cb2a5854336695953c3a[WEB]
- https://github.com/openchoreo/openchoreo/commit/b42eeb0f5dce95195a9781d7c5a1fe9e38f5da8f[WEB]
- https://github.com/openchoreo/openchoreo[PACKAGE]
- https://github.com/openchoreo/openchoreo/releases/tag/v1.0.2[WEB]
- https://github.com/openchoreo/openchoreo/releases/tag/v1.1.2[WEB]
- https://github.com/openchoreo/openchoreo/releases/tag/v1.2.0[WEB]