Cilium vulnerable to information leakage via insecure default Hubble UI CORS header
Description
Cilium is a networking, observability, and security solution with an eBPF-based dataplane. An insecure default Access-Control-Allow-Origin header value could lead to sensitive data exposure for users of Cilium versions 1.14.0 through 1.14.7, 1.15.0 through 1.15.11, and 1.16.0 through 1.16.4 who deploy Hubble UI using either Cilium CLI or via the Cilium Helm chart. A user with access to a Hubble UI instance affected by this issue could leak configuration details about the Kubernetes cluster which Hubble UI is monitoring, including node names, IP addresses, and other metadata about workloads and the cluster networking configuration. In order for this vulnerability to be exploited, a victim would have to first visit a malicious page. This issue is fixed in Cilium v1.14.18, v1.15.12, and v1.16.5. As a workaround, users who deploy Hubble UI using the Cilium Helm chart directly can remove the CORS headers from the Helm template as shown in the patch from commit a3489f190ba6e87b5336ee685fb6c80b1270d06d.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
github.com/cilium/ciliumGo | >= 1.14.0, < 1.14.19 | 1.14.19 |
github.com/cilium/ciliumGo | >= 1.15.0, < 1.15.13 | 1.15.13 |
github.com/cilium/ciliumGo | >= 1.16.0, < 1.16.6 | 1.16.6 |
Affected products
1Patches
1a3489f190ba6ui: drop CORS headers from api response
1 file changed · +0 −12
install/kubernetes/cilium/templates/hubble-ui/_nginx.tpl+0 −12 modified@@ -13,24 +13,12 @@ server { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; - # CORS - add_header Access-Control-Allow-Methods "GET, POST, PUT, HEAD, DELETE, OPTIONS"; - add_header Access-Control-Allow-Origin *; - add_header Access-Control-Max-Age 1728000; - add_header Access-Control-Expose-Headers content-length,grpc-status,grpc-message; - add_header Access-Control-Allow-Headers range,keep-alive,user-agent,cache-control,content-type,content-transfer-encoding,x-accept-content-transfer-encoding,x-accept-response-streaming,x-user-agent,x-grpc-web,grpc-timeout; - if ($request_method = OPTIONS) { - return 204; - } - # /CORS - location {{ .Values.hubble.ui.baseUrl }}api { {{- if not (eq .Values.hubble.ui.baseUrl "/") }} rewrite ^{{ (trimSuffix "/" .Values.hubble.ui.baseUrl) }}(/.*)$ $1 break; {{- end }} proxy_http_version 1.1; proxy_pass_request_headers on; - proxy_hide_header Access-Control-Allow-Origin; {{- if eq .Values.hubble.ui.baseUrl "/" }} proxy_pass http://127.0.0.1:8090; {{- else }}
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-h78m-j95m-5356ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2025-23047ghsaADVISORY
- github.com/cilium/cilium/commit/a3489f190ba6e87b5336ee685fb6c80b1270d06dghsax_refsource_MISCWEB
- github.com/cilium/cilium/security/advisories/GHSA-h78m-j95m-5356ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.