External Secrets Operator: label enforcement bypass in webhook generator enables secret exfiltration
What fixes it
- 1.3.2github.com/external-secrets/external-secrets, goGitHub
go get github.com/external-secrets/external-secrets@v1.3.2 - 1.3.2github.com/external-secrets/external-secrets, GoOSV
go get github.com/external-secrets/external-secrets@v1.3.2
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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/v1alpha1Webhookvia 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)
Text from GitHub Advisory Database
Affected versions 3
- github.com/external-secrets/external-secrets, go>= 0.10.0, < 1.3.2GitHub
- external-secretsaffected: >= 0.10.0, < 1.3.2CVE List
- github.com/external-secrets/external-secrets, Gofrom 0.10.0, fixed in 1.3.2OSV
References 5
- github.com/external-secrets/external-secrets/commit/25aa09275861e3ed6fc5d2a1a60b9ac3df4a93baFixvia CVE List
- github.com/external-secrets/external-secrets/releases/tag/v1.3.2Fixvia CVE List
- github.com/external-secrets/external-secrets/security/advisories/GHSA-q7hv-xx6h-q2x8Advisoryvia CVE List
- github.com/advisories/GHSA-q7hv-xx6h-q2x8Advisoryvia GitHub
- github.com/external-secrets/external-secrets/pull/5901Referencevia CVE List