Skip to content

Helm's Missing YAML Content Leads To Panic

High severity GitHub Reviewed Published Feb 21, 2024 in helm/helm • Updated Feb 22, 2024

Package

gomod helm.sh/helm/v3 (Go)

Affected versions

< 3.14.2

Patched versions

3.14.2

Description

A Helm contributor discovered uninitialized variable vulnerability when Helm parses index and plugin yaml files missing expected content.

Impact

When either an index.yaml file or a plugins plugin.yaml file were missing all metadata a panic would occur in Helm.

In the Helm SDK this is found when using the LoadIndexFile or DownloadIndexFile functions in the repo package or the LoadDir function in the plugin package. For the Helm client this impacts functions around adding a repository and all Helm functions if a malicious plugin is added as Helm inspects all known plugins on each invocation.

Patches

This issue has been resolved in Helm v3.14.2.

Workarounds

If a malicious plugin has been added which is causing all Helm client commands to panic, the malicious plugin can be manually removed from the filesystem.

If using Helm SDK versions prior to 3.14.2, calls to affected functions can use recover to catch the panic.

For more information

Helm's security policy is spelled out in detail in our SECURITY document.

Credits

Disclosed by Jakub Ciolek at AlphaSense.

References

@mattfarina mattfarina published to helm/helm Feb 21, 2024
Published by the National Vulnerability Database Feb 21, 2024
Published to the GitHub Advisory Database Feb 22, 2024
Reviewed Feb 22, 2024
Last updated Feb 22, 2024

Severity

High
7.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Weaknesses

CVE ID

CVE-2024-26147

GHSA ID

GHSA-r53h-jv2g-vpx6

Source code

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.