Skip to content
Heist/ feed
Back to feed
High

External Secrets Operator vulnerable to privilege escalation

Type: advisorySources: OSV

External Secrets Operator is a Kubernetes operator that integrates external secret management systems. The external-secrets has a deployment called default-external-secrets-cert-controller, which is bound with a same-name ClusterRole. This ClusterRole has "get/list" verbs of secrets resources. It also has path/update verb of validatingwebhookconfigurations resources. This can be used to abuse the SA token of the deployment to retrieve or get ALL secrets in the whole cluster, capture and log all data from requests attempting to update Secrets, or make a webhook deny all Pod create and update requests. This vulnerability is fixed in 0.10.2.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2024-45041
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 02:02 UTC · Revision 1

Source evidence

External Secrets Operator vulnerable to privilege escalation

core-osv · Original source

Published 9 Sept 2024, 14:54 UTC

External Secrets Operator is a Kubernetes operator that integrates external secret management systems. The external-secrets has a deployment called default-external-secrets-cert-controller, which is bound with a same-name ClusterRole. This ClusterRole has "get/list" verbs of secrets resources. It also has path/update verb of validatingwebhookconfigurations resources. This can be used to abuse the SA token of the deployment to retrieve or get ALL secrets in the whole cluster, capture and log all data from requests attempting to update Secrets, or make a webhook deny all Pod create and update requests. This vulnerability is fixed in 0.10.2.

osv:CVE-2024-45041
Complete source record
{
  "id": "20a2935aabe101fe6e82aa09e31f6d41f727f1b5c9b907b31493d2b3f1c61dec",
  "url": "https://osv.dev/vulnerability/CVE-2024-45041",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "External Secrets Operator vulnerable to privilege escalation",
    "summary": "External Secrets Operator is a Kubernetes operator that integrates external secret management systems. The external-secrets has a deployment called default-external-secrets-cert-controller, which is bound with a same-name ClusterRole. This ClusterRole has \"get/list\" verbs of secrets resources. It also has path/update verb of validatingwebhookconfigurations resources. This can be used to abuse the SA token of the deployment to retrieve or get ALL secrets in the whole cluster, capture and log all data from requests attempting to update Secrets, or make a webhook deny all Pod create and update requests. This vulnerability is fixed in 0.10.2.",
    "evidence": "osv:CVE-2024-45041",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2024-45041",
      "aliases": [
        "CVE-2024-45041",
        "GHSA-qwgc-rr35-h4x9",
        "GO-2024-3126"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/external-secrets/external-secrets",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "0368b9806f660fa6bc52cbbf3c6ccdb27c58bb35"
                },
                {
                  "fixed": "428a452fd2ad45935312f2c2c0d40bc37ce6e67c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:external-secrets:external_secrets_operator:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.10.2"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "428a452fd2ad45935312f2c2c0d40bc37ce6e67c"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "helm-chart-0.10.0",
            "v0.10.0",
            "helm-chart-0.9.20",
            "v0.9.20",
            "helm-chart-0.9.19",
            "v0.9.19",
            "helm-chart-0.9.18",
            "v0.9.18",
            "helm-chart-0.9.17",
            "v0.9.17",
            "helm-chart-0.9.16",
            "v0.9.16",
            "helm-chart-0.9.15-2",
            "v0.9.15-2",
            "v0.9.15",
            "helm-chart-0.9.14",
            "v0.9.14",
            "helm-chart-0.9.13",
            "v0.9.13",
            "helm-chart-0.9.12",
            "v0.9.12",
            "helm-chart-0.9.11",
            "v0.9.11",
            "helm-chart-0.9.10",
            "v0.9.10",
            "helm-chart-0.9.9",
            "v0.9.9",
            "helm-chart-0.9.8",
            "v0.9.8",
            "helm-chart-0.9.7",
            "v0.9.7",
            "helm-chart-0.9.6",
            "v0.9.6",
            "helm-chart-0.9.5",
            "v0.9.5",
            "helm-chart-0.9.4",
            "v0.9.4",
            "helm-chart-0.9.3",
            "v0.9.3",
            "helm-chart-0.9.2",
            "v0.9.2",
            "helm-chart-0.9.1",
            "v0.9.1",
            "helm-chart-0.9.0",
            "v0.9.0",
            "helm-chart-0.8.3",
            "v0.8.3",
            "helm-chart-0.8.2",
            "v0.8.2",
            "v0.7.3",
            "v0.8.1",
            "v0.7.2",
            "helm-chart-0.8.1",
            "helm-chart-0.8.0",
            "v0.8.0",
            "helm-chart-0.7.2",
            "helm-chart-0.7.1",
            "v0.7.1",
            "helm-chart-0.7.0",
            "v0.7.0",
            "helm-chart-0.7.0-rc1",
            "v0.7.0-rc1",
            "helm-chart-0.6.1",
            "v0.6.1",
            "helm-chart-0.6.0",
            "v0.6.0",
            "helm-chart-0.6.0-rc1",
            "v0.6.0-rc1",
            "helm-chart-0.5.9",
            "v0.5.9",
            "helm-chart-0.5.8",
            "v0.5.8",
            "helm-chart-0.5.7",
            "v0.5.7",
            "helm-chart-0.5.6",
            "v0.5.6",
            "helm-chart-0.5.5",
            "v0.5.5",
            "helm-chart-0.5.4",
            "v0.5.4",
            "helm-chart-0.5.2",
            "helm-chart-0.5.3",
            "v0.5.3",
            "v0.5.2",
            "helm-chart-0.5.0",
            "helm-chart-0.5.1",
            "v0.5.1",
            "v0.5.0",
            "helm-chart-0.4.4",
            "v0.4.4",
            "helm-chart-0.4.3",
            "v0.4.3",
            "helm-chart-0.4.2",
            "v0.4.2",
            "helm-chart-0.4.1",
            "v0.4.1",
            "helm-chart-0.4.0",
            "v0.4.0",
            "helm-chart-0.3.11",
            "v0.3.11",
            "helm-chart-0.3.10",
            "v0.3.10",
            "helm-chart-0.3.9",
            "v0.3.9",
            "helm-chart-0.3.8",
            "v0.3.8",
            "helm-chart-0.3.7",
            "v0.3.7",
            "helm-chart-0.3.6",
            "v0.3.6",
            "v.0.3.6",
            "helm-chart-0.3.5",
            "v0.3.5",
            "helm-chart-0.3.4",
            "v0.3.4",
            "helm-chart-0.3.3",
            "v0.3.3",
            "helm-chart-0.3.2",
            "v0.3.2",
            "helm-chart-0.3.1",
            "v0.3.1",
            "helm-chart-0.3.0",
            "v0.3.0",
            "v0.2.2",
            "helm-chart-0.2.3",
            "v0.2.3",
            "helm-chart-0.2.2",
            "helm-chart-0.2.1",
            "v0.2.1",
            "helm-chart-0.2.0",
            "v0.2.0",
            "v0.1.4",
            "helm-chart-0.1.4",
            "v0.1.3",
            "helm-chart-0.1.3",
            "helm-chart-0.1.2",
            "helm-chart-0.1.1",
            "v0.1.2",
            "v0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-45041.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:52.765868893Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/45xxx/CVE-2024-45041.json",
        "https://github.com/external-secrets/external-secrets/security/advisories/GHSA-qwgc-rr35-h4x9",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-45041",
        "https://github.com/external-secrets/external-secrets/commit/428a452fd2ad45935312f2c2c0d40bc37ce6e67c"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-269"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/45xxx/CVE-2024-45041.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-45041",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 521594,
  "published_at": "2024-09-09T14:54:31.066+00:00"
}