CVE-2026-34984: External Secrets Operator has DNS-based secret exfiltration via getHostByName in External Secrets v2 template engine
(updated )
The v2 template engine in runtime/template/v2/template.go imports Sprig’s TxtFuncMap() and removes env and expandenv, but leaves getHostByName available to user-controlled templates. Because ESO executes templates inside the controller process, an attacker who can create or update templated ExternalSecret resources can trigger controller-side DNS lookups using secret-derived values, creating a DNS exfiltration primitive.
References
- github.com/advisories/GHSA-r2pg-r6h7-crf3
- github.com/external-secrets/external-secrets/commit/6800989bdc12782ca2605d3b8bf7f2876a16551a
- github.com/external-secrets/external-secrets/releases/tag/v2.3.0
- github.com/external-secrets/external-secrets/security/advisories/GHSA-r2pg-r6h7-crf3
- nvd.nist.gov/vuln/detail/CVE-2026-34984
Code Behaviors & Features
Detect and mitigate CVE-2026-34984 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →