CVE-2025-55199: Helm Charts with Specific JSON Schema Values Can Cause Memory Exhaustion
6.5
Basic Information
Technical Details
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| helm.sh/helm/v3 | go | <= 3.18.4 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability lies in the JSON schema validation logic of Helm, where a malicious chart's _values.schema.json could cause a denial-of-service attack. The root cause was the use of the github.com/xeipuuv/gojsonschema library, which improperly handled $ref fields. An attacker could craft a schema with a $ref pointing to a device file like /dev/zero. When Helm performs an action that validates the chart values (e.g., helm install, helm lint), the ValidateAgainstSingleSchema function would be called. This function, using the vulnerable library, would then attempt to resolve the $ref, leading to an attempt to read an infinite stream of data from the device file, consuming all available memory and causing the Helm client to crash.
The patch addresses this by migrating to a different JSON schema validation library, github.com/santhosh-tekuri/jsonschema/v6, in the ValidateAgainstSingleSchema function. This new library presumably handles $refs more securely, preventing them from resolving to arbitrary and dangerous file paths. The ValidateAgainstSchema function is the entry point that triggers this validation for a chart and its sub-charts, making it a key part of the vulnerable call chain.