An information disclosure vulnerability exists in the getHostByName template function.
The function getHostByName is a Helm template function introduced in Helm v3. The function is able to accept a hostname and return an IP address for that hostname. To get the IP address the function performs a DNS lookup. The DNS lookup happens when used with "helm install|upgrade|template" or when the Helm SDK is used to render a chart.
Information passed into the chart can be disclosed to the DNS servers used to lookup the IP address. For example, a malicious chart could inject getHostByName into a chart in order to disclose values to a malicious DNS server.
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2023-1547"
}{
"imports": [
{
"symbols": [
"addInstallFlags",
"main",
"newUpgradeCmd"
],
"path": "helm.sh/helm/v3/cmd/helm"
},
{
"symbols": [
"Configuration.renderResources",
"Install.Run",
"Install.RunWithContext",
"Lint.Run",
"Upgrade.Run",
"Upgrade.RunWithContext",
"Upgrade.prepareUpgrade"
],
"path": "helm.sh/helm/v3/pkg/action"
},
{
"symbols": [
"Engine.Render",
"Engine.initFunMap",
"Render",
"RenderWithClient"
],
"path": "helm.sh/helm/v3/pkg/engine"
}
]
}