{"id":"GHSA-q7hv-xx6h-q2x8","revision":"a74c92ff9c4a456c8388f3cbff971293","records":[{"revision":"a74c92ff9c4a456c8388f3cbff971293","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GHSA-q7hv-xx6h-q2x8","aliases":["CVE-2026-26287","GO-2026-6667"],"title":"External Secrets Operator: label enforcement bypass in webhook generator enables secret exfiltration","description":"## Summary\nA 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`.\n\n## Impact\nA 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.\n\n## Mitigations\nUntil you upgrade, you can reduce risk by:\n- disabling webhook generators if not needed (or denying `generators.external-secrets.io/v1alpha1` `Webhook` via an admission policy);\n- restricting RBAC: limit who can create generators of kind `Webhook`;\n- enforcing an admission policy (OPA Gatekeeper / Kyverno) requiring referenced secrets to be labeled `external-secrets.io/type=webhook`;\n- restricting egress from external-secrets controller pods to an allowlist (kubernetes `NetworkPolicy` / service mesh egress policy).\n\n## References\n- PR #5901 (fix: webhook initialization order)","state":0,"publishedAt":"2026-10-06T15:29:25+00:00","modifiedAt":"2026-10-20T00:55:45.0816167+00:00","affected":[{"ecosystem":"Go","name":"github.com/external-secrets/external-secrets","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0.10.0"},{"kind":"fixed","version":"1.3.2"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/external-secrets/external-secrets/security/advisories/GHSA-q7hv-xx6h-q2x8","https://github.com/external-secrets/external-secrets/pull/5901","https://github.com/external-secrets/external-secrets/commit/25aa09275861e3ed6fc5d2a1a60b9ac3df4a93ba","https://github.com/external-secrets/external-secrets","https://github.com/external-secrets/external-secrets/releases/tag/v1.3.2"],"sourceUrl":"https://github.com/advisories/GHSA-q7hv-xx6h-q2x8","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-q7hv-xx6h-q2x8","identifiers":["GHSA-q7hv-xx6h-q2x8","CVE-2026-26287","GO-2026-6667"]},"retained":false,"historicalAffected":[]}],"coverage":[]}