{"api_version":"1","generated_at":"2026-11-05T22:44:26+00:00","cve":"CVE-2026-123059","urls":{"html":"https://cve.report/CVE-2026-123059","api":"https://cve.report/api/cve/CVE-2026-123059.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-123059","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-123059"},"summary":{"title":"Keycloak admin client secret stored in cleartext in a ConfigMap in Eclipse BaSyx Helm Charts","description":"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.\n\n\n\nThe 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.\n\n\n\nThe 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.","state":"PUBLISHED","assigner":"eclipse","published_at":"2026-11-05 14:17:04","updated_at":"2026-11-05 22:17:55"},"problem_types":["CWE-312","CWE-522","CWE-312 CWE-312 Cleartext storage of sensitive information","CWE-522 CWE-522 Insufficiently Protected Credentials"],"metrics":[{"version":"3.1","source":"emo@eclipse.org","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"CVSS","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/eclipse-basyx/charts/security/advisories/GHSA-6438-759f-6f8v","name":"https://github.com/eclipse-basyx/charts/security/advisories/GHSA-6438-759f-6f8v","refsource":"emo@eclipse.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/eclipse-basyx/charts/releases/tag/aas-basyx-v2-full-2.2.0","name":"https://github.com/eclipse-basyx/charts/releases/tag/aas-basyx-v2-full-2.2.0","refsource":"emo@eclipse.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://gitlab.eclipse.org/security/cve-assignment/-/work_items/546","name":"https://gitlab.eclipse.org/security/cve-assignment/-/work_items/546","refsource":"emo@eclipse.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/eclipse-basyx/charts/pull/46","name":"https://github.com/eclipse-basyx/charts/pull/46","refsource":"emo@eclipse.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-123059","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123059","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Eclipse Foundation","product":"Eclipse BaSyx Helm Charts","version":"affected 2.2.0 semver","platforms":[]}],"timeline":[],"solutions":[{"source":"CNA","title":"","value":"No fixed release of the `aas-basyx-v2-full` chart exists. Affected users should migrate to the `basyx` chart.","time":"","lang":"en"}],"workarounds":[{"source":"CNA","title":"","value":"Deploy without the bundled Keycloak and rotate the `basyx-technical-user` client secret.","time":"","lang":"en"}],"exploits":[],"credits":[{"source":"CNA","value":"Eclipse Foundation Security Team","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-123059","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-11-05T21:24:06.286598Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-11-05T21:24:55.109Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"defaultStatus":"unaffected","product":"Eclipse BaSyx Helm Charts","vendor":"Eclipse Foundation","versions":[{"status":"affected","version":"2.2.0","versionType":"semver"}]}],"configurations":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Only deployments using the chart’s bundled Keycloak are affected. The vulnerability requires <code>keycloak.enabled=true</code>."}],"value":"Only deployments using the chart’s bundled Keycloak are affected. The vulnerability requires keycloak.enabled=true."}],"credits":[{"lang":"en","type":"finder","value":"Eclipse Foundation Security Team"}],"descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<p>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.</p><p>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 `&lt;keycloak.fullnameOverride&gt;-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.</p><p>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.</p>"}],"value":"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.\n\n\n\nThe 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.\n\n\n\nThe 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."}],"impacts":[{"capecId":"CAPEC-37","descriptions":[{"lang":"en","value":"CAPEC-37 Retrieve Embedded Sensitive Data"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-312","description":"CWE-312 Cleartext storage of sensitive information","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-522","description":"CWE-522 Insufficiently Protected Credentials","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-11-05T13:13:17.917Z","orgId":"e51fbebd-6053-4e49-959f-1b94eeb69a2c","shortName":"eclipse"},"references":[{"url":"https://github.com/eclipse-basyx/charts/security/advisories/GHSA-6438-759f-6f8v"},{"url":"https://github.com/eclipse-basyx/charts/pull/46"},{"url":"https://github.com/eclipse-basyx/charts/releases/tag/aas-basyx-v2-full-2.2.0"},{"url":"https://gitlab.eclipse.org/security/cve-assignment/-/work_items/546"}],"solutions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"No fixed release of the `aas-basyx-v2-full` chart exists. Affected users should migrate to the `basyx` chart."}],"value":"No fixed release of the `aas-basyx-v2-full` chart exists. Affected users should migrate to the `basyx` chart."}],"source":{"discovery":"UNKNOWN"},"title":"Keycloak admin client secret stored in cleartext in a ConfigMap in Eclipse BaSyx Helm Charts","workarounds":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Deploy without the bundled Keycloak and rotate the `basyx-technical-user` client secret."}],"value":"Deploy without the bundled Keycloak and rotate the `basyx-technical-user` client secret."}],"x_generator":{"engine":"Vulnogram 1.0.5"}}},"cveMetadata":{"assignerOrgId":"e51fbebd-6053-4e49-959f-1b94eeb69a2c","assignerShortName":"eclipse","cveId":"CVE-2026-123059","datePublished":"2026-11-05T13:13:17.917Z","dateReserved":"2026-11-05T08:45:21.385Z","dateUpdated":"2026-11-05T21:24:55.109Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-11-05 14:17:04","lastModifiedDate":"2026-11-05 22:17:55","problem_types":["CWE-312","CWE-522","CWE-312 CWE-312 Cleartext storage of sensitive information","CWE-522 CWE-522 Insufficiently Protected Credentials"],"metrics":{"cvssMetricV31":[{"source":"emo@eclipse.org","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1.6,"impactScore":5.9}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-11-05T21:24:06.286598Z","id":"CVE-2026-123059","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"123059","Ordinal":"1","Title":"Keycloak admin client secret stored in cleartext in a ConfigMap ","CVE":"CVE-2026-123059","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"123059","Ordinal":"1","NoteData":"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.\n\n\n\nThe 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.\n\n\n\nThe 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.","Type":"Description","Title":"Keycloak admin client secret stored in cleartext in a ConfigMap "}]}}}