External Secrets Operator's BeyondTrust Provider has Insecure Secret Retrieval
Summary
External Secrets Operator's BeyondTrust Provider has Insecure Secret Retrieval
Original description
The description as published by the source.
External Secrets Operator reads information from a third-party service and automatically injects the values as Kubernetes Secrets. A vulnerability was discovered in the BeyondTrust provider implementation for External Secrets Operator versions 0.10.1 through 0.19.2. The provider previously retrieved Kubernetes secrets directly, without validating the namespace context or the type of secret store. This allowed unauthorized cross-namespace secret access, violating security boundaries and potentially exposing sensitive credentials. In version 0.20.0, the provider code was updated to use the resolvers.SecretKeyRef utility, which enforces namespace validation and only allows cross-namespace access for ClusterSecretStore types. This ensures secrets are only retrieved from the correct namespace, mitigating the risk of unauthorized access. All users should upgrade to the latest version containing this fix. As a workaround, use a policy engine such as Kyverno or OPA to prevent using BeyondTrust provider and/or validate the (Cluster)SecretStore and ensure the namespace may only be set when using a ClusterSecretStore.
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
References
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov