# CVE-2026-123059: Keycloak admin client secret stored in cleartext in a ConfigMap in Eclipse BaSyx Helm Charts

Status: published. Published: 2026-11-05. Updated: 2026-11-05.

In Eclipse BaSyx Helm Charts version 2.2.0 of the `aas-basyx-v2-full` chart, deployments with the bundled Keycloak enabled store the client secret of the `basyx-technical-user` OAuth2 client in cleartext in a Kubernetes ConfigMap. This client uses the client-credentials grant and its service account holds the realm `admin` role.



The chart correctly writes `keycloak.technicalUser.clientSecret` to a Kubernetes Secret, but the template `basyx-keycloak-realm.yaml` also substitutes the same value into the Keycloak realm-import JSON, which is stored in the ConfigMap `<keycloak.fullnameOverride>-realm`. A principal that can read ConfigMaps but not Secrets in the release namespace, such as a holder of the built-in Kubernetes `view` ClusterRole, can read the client secret from the ConfigMap. They can then exchange it at the Keycloak token endpoint for an access token with the `admin` role. That token grants full create, read, update, delete and execute rights on all BaSyx repositories and registries in the deployment.



The bundled Keycloak is disabled by default. No fixed release of the `aas-basyx-v2-full` chart exists. Affected users should migrate to the `basyx` chart, or deploy without the bundled Keycloak and rotate the `basyx-technical-user` client secret.

## Remediation

- fix: No fixed release of the `aas-basyx-v2-full` chart exists. Affected users should migrate to the `basyx` chart. (source: CNA: eclipse)
- workaround: Deploy without the bundled Keycloak and rotate the `basyx-technical-user` client secret. (source: CNA: eclipse)

## Affected products and versions

- Eclipse Foundation / Eclipse BaSyx Helm Charts: 2.2.0 (affected, semver). Source: CNA: eclipse

## Severity and prioritization

- CVSS 3.1: 7.5 (high); CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H; source: CNA: eclipse

- CISA KEV: No listing in collected sources

- EPSS: Not available

- SSVC: Not available

- Weaknesses: CWE-312, CWE-522

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://github.com/eclipse-basyx/charts/security/advisories/GHSA-6438-759f-6f8v (CNA: eclipse)

- https://github.com/eclipse-basyx/charts/pull/46 (CNA: eclipse)

- https://github.com/eclipse-basyx/charts/releases/tag/aas-basyx-v2-full-2.2.0 (CNA: eclipse)

- https://gitlab.eclipse.org/security/cve-assignment/-/work_items/546 (CNA: eclipse)

## Provenance

- CNA: eclipse: https://www.cve.org/CVERecord?id=CVE-2026-123059; retrieved 2026-11-05; source updated 2026-11-05

Revision: 824c6df8aaf4c2bcdd7066c7f318398d3d300441d938dd8457e37025c29c11e9

Canonical: https://y2.dev/cve/CVE-2026-123059

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.