CVE-2024-29037 (YAML, published 2024-03-20T21:15Z)
Description: value: datahub-helm provides the Kubernetes Helm charts for deploying Datahub and its dependencies on a Kubernetes cluster. Starting in version 0.1.143 and prior to version 0.2.182, due to configuration issues in the helm chart, if there was a successful initial deployment during a limited window of time, personal access tokens were possibly created with a default secret key. Since the secret key is a static, publicly available value, someone could inspect the algorithm used to generate personal access tokens and generate their own for an instance. Deploying with Metadata Service Authentication enabled would have been difficult during window of releases. If someone circumvented the helm settings and manually set Metadata Service Authentication to be enabled using environment variables directly, this would skip over the autogeneration logic for the Kubernetes Secrets and DataHub GMS would default to the signing key specified statically in the application.yml. Most deployments probably did not attempt to circumvent the helm settings to enable Metadata Service Authentication during this time, so impact is most likely limited. Any deployments with Metadata Service Authentication enabled should ensure that their secret values are properly randomized. Version 0.2.182 contains a patch for this issue. As a workaround, one may reset the token signing key to be a random value, which will invalidate active personal access tokens.
Severity: nan (CVSS v3 base score: )
Weakness: NVD-CWE-noinfo \u2014 Insufficient Information
There is insufficient information about the issue to classify it; details are unkown or unspecified.
Repository: https://github.com/acryldata/datahub-helm
Files changed:
charts/datahub/Chart.yaml
charts/datahub/templates/datahub-upgrade/_upgrade.tpl
charts/datahub/templates/datahub-upgrade/datahub-cleanup-job-template.yml
charts/datahub/templates/datahub-upgrade/datahub-nocode-migration-job.yml
charts/datahub/templates/datahub-upgrade/datahub-restore-indices-job-template.yml
Commit message: fix(auth-secrets): fix system update secrets (#351)

* fix(auth-secret): remove auth secret from common template, cannot be used by all jobs

Vulnerable code:
version: 0.2.181
{{- if .Values.global.datahub.metadata_service_authentication.enabled }}
- name: DATAHUB_SYSTEM_CLIENT_ID
  value: {{ .Values.global.datahub.metadata_service_authentication.systemClientId }}
- name: DATAHUB_SYSTEM_CLIENT_SECRET
  valueFrom:
    secretKeyRef:
      name: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretRef }}
      key: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretKey }}
{{- end }}

Fixed code:
version: 0.2.182
                {{- if .Values.global.datahub.metadata_service_authentication.enabled }}
                - name: DATAHUB_SYSTEM_CLIENT_ID
                  value: {{ .Values.global.datahub.metadata_service_authentication.systemClientId }}
                - name: DATAHUB_SYSTEM_CLIENT_SECRET
                  valueFrom:
                    secretKeyRef:
                      name: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretRef }}
                      key: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretKey }}
                {{- end }}
            {{- if .Values.global.datahub.metadata_service_authentication.enabled }}
            - name: DATAHUB_SYSTEM_CLIENT_ID
              value: {{ .Values.global.datahub.metadata_service_authentication.systemClientId }}
            - name: DATAHUB_SYSTEM_CLIENT_SECRET
              valueFrom:
                secretKeyRef:
                  name: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretRef }}
                  key: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretKey }}
            {{- end }}
                {{- if .Values.global.datahub.metadata_service_authentication.enabled }}
                - name: DATAHUB_SYSTEM_CLIENT_ID
                  value: {{ .Values.global.datahub.metadata_service_authentication.systemClientId }}
                - name: DATAHUB_SYSTEM_CLIENT_SECRET
                  valueFrom:
                    secretKeyRef:
                      name: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretRef }}
                      key: {{ .Values.global.datahub.metadata_service_authentication.systemClientSecret.secretKey }}
                {{- end }}