External Secrets Operator's BeyondTrust Provider has Insecure Secret Retrieval
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`.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2025-62159
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 23:07 UTC · Revision 1
Source evidence
External Secrets Operator's BeyondTrust Provider has Insecure Secret Retrieval
core-osv · Original sourcePublished 10 Oct 2025, 22:23 UTC
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`.
osv:CVE-2025-62159
Complete source record
{
"id": "6106f30e764487545fe5eec7e087a0aabc35610f3726fa650416207b65bae604",
"url": "https://osv.dev/vulnerability/CVE-2025-62159",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "External Secrets Operator's BeyondTrust Provider has Insecure Secret Retrieval",
"summary": "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`.",
"evidence": "osv:CVE-2025-62159",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2025-62159",
"aliases": [
"CVE-2025-62159",
"GHSA-vf79-2pjx-phpp"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/external-secrets/external-secrets",
"type": "GIT",
"events": [
{
"introduced": "bc97ae06f669c17903ad3b170a71dd4fd47045c8"
},
{
"fixed": "0eb3034729751e66f629c7dea0c9ac3f10a9a26f"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0.10.1"
},
{
"fixed": "0.20.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "0.10.1"
},
{
"last_affected": "0.19.2"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"helm-chart-0.19.2",
"v0.19.2",
"v0.19.1",
"v0.19.0",
"v0.18.2",
"v0.18.1",
"v0.18.0",
"helm-chart-0.18.0-rc1",
"v0.18.0-rc1",
"v0.17.1-rc1",
"helm-chart-0.17.0",
"v0.17.0",
"v0.16.2",
"v0.16.1",
"helm-chart-0.16.0",
"v0.16.0",
"helm-chart-0.15.1",
"v0.15.1",
"v0.15.0",
"v0.14.4",
"v0.14.3",
"helm-chart-0.14.2",
"v0.14.2",
"helm-chart-0.14.1",
"v0.14.1",
"v0.14.0",
"v0.13.0",
"v0.1.0-esoctl",
"v0.1.0-render",
"v0.12.1",
"v0.12.0",
"v0.11.0",
"v0.10.7",
"helm-chart-0.10.6",
"v0.10.6",
"v0.10.5",
"v0.10.4",
"v0.10.3",
"helm-chart-0.10.2",
"v0.10.2",
"helm-chart-0.10.1",
"v0.10.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-62159.json"
}
}
],
"modified": "2026-10-28T02:30:32.120495339Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/62xxx/CVE-2025-62159.json",
"https://github.com/external-secrets/external-secrets/security/advisories/GHSA-vf79-2pjx-phpp",
"https://nvd.nist.gov/vuln/detail/CVE-2025-62159"
],
"provider_metadata": {
"cwe_ids": [
"CWE-284"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/62xxx/CVE-2025-62159.json"
}
},
"related_cves": [
{
"value": "CVE-2025-62159",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 499221,
"published_at": "2025-10-10T22:23:19.071+00:00"
}