What’s Vulnerable › Vulnerabilities
CVE-2026-34984: External Secrets Operator has DNS exfiltration via getHostByName in its v2 template engine
- Severity: medium (CVSS 6.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-04-14 · updated 2026-06-17
- Weakness: CWE-200
Description
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.
Affected products
- external-secrets: before 2.3.0 — fixed in 2.3.0
How to fix
Upgrade to a fixed version: external-secrets 2.3.0. Check the vendor advisory for mitigations.
References
- https://github.com/external-secrets/external-secrets/commit/6800989bdc12782ca2605d3b8bf7f2876a16551a
- https://github.com/external-secrets/external-secrets/releases/tag/v2.3.0
- https://github.com/external-secrets/external-secrets/security/advisories/GHSA-r2pg-r6h7-crf3
Get alerted when CVE-2026-34984 or the next vulnerability affects your stack