CVE-2026-26287: External Secrets Operator: label enforcement bypass in webhook generator enables secret exfiltration

Published Oct 6, 2026
·
Updated

Summary A bug in the webhook generator initialization order incorrectly cleared the label-enforcement flag (EnforceLabels) after it was set, resulting in the provider-side check for external-secrets.io/type=webhook being skipped (and the operation to succeed while it should have failed with secret does not contain needed label 'external-secrets.io/type: webhook'. Update secret label to use it with webhook.

Impact A user with the permission to create webhook generator can set the webhook generator to a victim' secret (which was not previously labelled for webhook's use), and exfiltrate it to a malicious URL.

Mitigations Until you upgrade, you can reduce risk by: - disabling webhook generators if not needed (or denying generators.external-secrets.io/v1alpha1 Webhook via an admission policy); - restricting RBAC: limit who can create generators of kind Webhook; - enforcing an admission policy (OPA Gatekeeper / Kyverno) requiring referenced secrets to be labeled external-secrets.io/type=webhook; - restricting egress from external-secrets controller pods to an allowlist (kubernetes NetworkPolicy / service mesh egress policy).

References - PR #5901 (fix: webhook initialization order)

Other sources

External Secrets Operator reads information from a third-party service and automatically injects the values as Kubernetes Secrets. Starting in version 0.10.0 and prior to version 1.3.2, a bug in the webhook generator initialization order incorrectly cleared the label-enforcement flag (EnforceLabels) after it was set, resulting in the provider-side check for external-secrets.io/type=webhook being skipped (and the operation to succeed while it should have failed with secret does not contain needed label 'external-secrets.io/type: webhook'. Update secret label to use it with webhook. Version 1.3.2 contains a patch.

— MITRE

Affected Software

2 affected componentsFixes available
External Secrets External Secrets Operator>=0.10.0<1.3.2
go/github.com/external-secrets/external-secrets>=0.10.0<1.3.2
1.3.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/external-secrets/external-secrets to a version that resolves this vulnerability.

    Fixed in 1.3.2
  2. Upgrade

    Upgrade External Secrets Operator to a version that resolves this vulnerability.

    Fixed in 1.3.2Patch PR #5901
  3. Configuration

    Disable webhook generators if they are not needed, or deny generators.external-secrets.io/v1alpha1 Webhook via an admission policy.

    External Secrets Operator webhook generators = disabled or denied
  4. Configuration

    Enforce an OPA Gatekeeper or Kyverno admission policy requiring referenced secrets to be labeled external-secrets.io/type=webhook.

    Kubernetes admission policy external-secrets.io/type=webhook label requirement = required
  5. Configuration

    Limit who can create generators of kind Webhook.

    External Secrets Operator RBAC Webhook generator creation permission = restricted
  6. Configuration

    Update the secret label to external-secrets.io/type=webhook before using it with the webhook generator.

    Kubernetes Secret external-secrets.io/type = webhook
  7. Compensating control

    Restrict egress from External Secrets controller pods to an allowlist using a Kubernetes NetworkPolicy or service mesh egress policy.

Event History

Oct 6, 2026
Advisory Published
via GitHub·03:29 PM
Data Sourced
via GitHub·03:29 PM
DescriptionSeverityWeaknessAffected Software
CVE Published
via MITRE·03:31 PM
Data Sourced
via MITRE·03:31 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

A user who has permission to create Webhook generators can exploit it. They can configure a Webhook generator to reference a victim secret that is not labeled for Webhook use and send its contents to a malicious URL.

2

Is a secret label normally intended to prevent this access?

Yes. The provider-side check should require the referenced secret to have the label external-secrets.io/type=webhook. Due to the initialization-order bug, that check is skipped for affected Webhook generator operations.

3

What can be done if an upgrade cannot be applied immediately?

Disable Webhook generators if they are not required, or deny Webhook resources in generators.external-secrets.io/v1alpha1 through an admission policy. Also limit RBAC permissions to create Webhook generators, require referenced secrets to carry the Webhook label, and restrict egress from external-secrets controller pods to an allowlist.

4

How can egress controls reduce the impact?

The described exfiltration sends secret data to a malicious URL. Kubernetes NetworkPolicy or a service-mesh egress policy that allows controller pods to reach only approved destinations can prevent or limit that outbound transfer.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203