A critical security vulnerability has been discovered in the External Secrets Operator, a widely used Kubernetes tool that bridges the gap between external secret management systems like AWS Secrets Manager or HashiCorp Vault and Kubernetes clusters. The flaw, tracked as CVE-2026-22822, carries a critical CVSS score of 9.3, warning administrators of a potential backdoor to sensitive data.
The vulnerability allows for Insecure Secret Retrieval, effectively breaking the isolation between namespaces that is fundamental to Kubernetes security.
The issue lies within a specific templating function named getSecretKey. Originally introduced to support the senhasegura DevOps Secrets Management (DSM) provider, the function proved to be too powerful for its own good.
According to the security advisory, the function “has the ability to fetch secrets cross-namespaces with the roleBinding of the external-secrets controller, bypassing our security mechanisms”.
This means that a malicious or misconfigured resource in one namespace could potentially grab secrets from another namespaceβsecrets it was never authorized to see. “Attackers or misconfigured resources could retrieve secrets from namespaces other than the one intended”.
The implications of this bypass are severe. If an attacker can read secrets from a privileged namespace, they can easily pivot to full control. The report notes that “unauthorized access to secrets could lead to privilege escalation, data exfiltration, or compromise of service accounts and credentials”.
Administrators should audit their clusters immediately. The vulnerability affects all versions of the External Secrets Operator starting from v0.20.2 up to v1.2.0.
The maintainers have taken a decisive approach to fixing the flaw: they deleted the feature entirely. “This function was completely removed, as everything done with that templating function can be done in a different way while respecting our safeguards”.
Users are urged to upgrade to version v1.2.0 immediately, which resolves the issue by removing the incriminated code.
For those unable to upgrade right away, a workaround exists. Administrators can use policy engines like Kyverno, Kubewarden, or OPA to “prevent the usage of getSecretKey in any ExternalSecret resource”.
Related Posts:
Support Our Threat Intelligence
If you find our CVE report and cybersecurity news helpful, consider supporting our work.