CVE-2026-34984
Fixed in a distro release EPSS <1%CVSS 7.1
External Secrets Operator reads information from a third-party service and automatically injects the values as Kubernetes Secrets. Versions 2.2.0 and below contain a vulnerability in runtime/template/v2/template.go where the v2 template engine removes env and expandenv from Sprig's TxtFuncMap() but leaves the getHostByName function accessible to user-controlled templates. Since ESO executes templates within the controller process, an attacker who can create or update templated ExternalSecret resources can invoke controller-side DNS lookups using secret-derived values. This creates a DNS exfiltration primitive, allowing fetched secret material to be leaked via DNS queries without requiring direct outbound network access from the attacker's workload. The impact is a confidentiality issue, particularly in environments where untrusted or lower-trust users can author templated ExternalSecret resources and the controller has DNS resolution capability. This issue has been fixed in version 2.3.0.
Products: external-secrets
Fixed upstream
| Ecosystem | Package | Fixed in |
|---|---|---|
| Go | github.com/external-secrets/external-secrets | 1.3.3-0.20260331202714-6800989bdc12 |
| Go | github.com/external-secrets/external-secrets | no fix |
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Chainguard | external-secrets-operator-0.20 | no fix |
| Chainguard | external-secrets-operator-1.0 | no fix |
| Chainguard | external-secrets-operator-1.1 | no fix |
| Chainguard | external-secrets-operator-1.2 | no fix |
| Chainguard | external-secrets-operator-1.3 | no fix |
| Chainguard | external-secrets-operator-2.0 | no fix |
| Chainguard | external-secrets-operator-2.1 | no fix |
| Chainguard | external-secrets-operator-2.2 | 2.2.0-r7 |
| Chainguard | external-secrets-operator-fips-0.20 | no fix |
| Chainguard | external-secrets-operator-fips-1.0 | no fix |
| Chainguard | external-secrets-operator-fips-1.1 | no fix |
| Chainguard | external-secrets-operator-fips-1.2 | no fix |
| Chainguard | external-secrets-operator-fips-1.3 | no fix |
| Wolfi | external-secrets-operator-1.1 | no fix |
| Wolfi | external-secrets-operator-2.0 | no fix |
| Wolfi | external-secrets-operator-2.1 | no fix |
| Wolfi | external-secrets-operator-2.2 | 2.2.0-r7 |
| openSUSE Leap 16.0 | govulncheck-vulndb | 0.0.20260723T184607-160000.1.1 |