CVE-2025-53547

8.5 HIGH

📋 TL;DR

This vulnerability in Helm allows local code execution when updating dependencies if a malicious Chart.yaml file exists and Chart.lock is symlinked to an executable file. Attackers can write arbitrary content to symlinked files, potentially leading to command execution. Users of Helm versions before 3.18.4 who update dependencies with malicious charts are affected.

💻 Affected Systems

Products:
  • Helm
Versions: All versions prior to 3.18.4
Operating Systems: All platforms running Helm
Default Config Vulnerable: ⚠️ Yes
Notes: Requires both a malicious Chart.yaml file and Chart.lock symlinked to an executable file. The vulnerability triggers during dependency update operations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise through arbitrary code execution with the privileges of the Helm user, potentially leading to lateral movement within Kubernetes clusters.

🟠

Likely Case

Local privilege escalation or execution of malicious commands within the context of the Helm user, potentially affecting Kubernetes deployments.

🟢

If Mitigated

No impact if proper access controls prevent symlinking to sensitive files or if malicious charts are not processed.

🌐 Internet-Facing: LOW - This requires local access to the system running Helm and ability to create malicious chart files.
🏢 Internal Only: MEDIUM - Internal users with Helm access could exploit this for privilege escalation or lateral movement within environments.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires local access to create malicious chart files and symlinks. The advisory provides technical details but no public exploit code is known.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.18.4

Vendor Advisory: https://github.com/helm/helm/security/advisories/GHSA-557j-xg8c-q2mm

Restart Required: No

Instructions:

1. Check current Helm version: helm version
2. Upgrade Helm: helm repo update && helm upgrade --install helm stable/helm --version 3.18.4
3. Verify upgrade: helm version

🔧 Temporary Workarounds

Avoid symlinking Chart.lock

all

Ensure Chart.lock files are not symlinked to executable files or sensitive system files.

find . -type l -name 'Chart.lock' -exec ls -la {} \;
rm -f Chart.lock if it's a symlink

Restrict chart sources

all

Only use charts from trusted repositories and verify chart contents before processing.

helm repo list
helm repo add only-trusted-repo https://trusted.example.com/charts

🧯 If You Can't Patch

  • Implement strict file permissions to prevent symlinking Chart.lock to executable files
  • Monitor for suspicious Helm operations and review all chart files before dependency updates

🔍 How to Verify

Check if Vulnerable:

Check Helm version: helm version | grep -E 'v3\.(0-17|18\.(0-3))'

Check Version:

helm version --short

Verify Fix Applied:

Verify Helm version is 3.18.4 or later: helm version | grep 'v3.18.4'

📡 Detection & Monitoring

Log Indicators:

  • Failed dependency updates with symlink warnings
  • Unexpected file writes to system locations during Helm operations

Network Indicators:

  • Unusual outbound connections from Helm processes post-dependency updates

SIEM Query:

process.name:"helm" AND (file.path:"*Chart.lock" OR file.path:"/etc/*" OR file.path:"/home/*/.bashrc")

🔗 References

📤 Share & Export