Miggo Logo

CVE-2025-55199: Helm Charts with Specific JSON Schema Values Can Cause Memory Exhaustion

6.5

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
8/14/2025
Updated
8/14/2025
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
helm.sh/helm/v3go<= 3.18.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot 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.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

* **lm *ontri*utor *is*ov*r** t**t it w*s possi*l* to *r**t * JSON S***m* *il* in * m*nn*r w*i** *oul* **us* **lm to us* *ll *v*il**l* m*mory *n* **v* *n out o* m*mory (OOM) t*rmin*tion. ### Imp**t * m*li*ious ***rt **n point `$r**` in _v*lu*s.s***m

Reasoning

T** vuln*r**ility li*s in t** JSON s***m* v*li**tion lo*i* o* **lm, w**r* * m*li*ious ***rt's `_v*lu*s.s***m*.json` *oul* **us* * **ni*l-o*-s*rvi** *tt**k. T** root **us* w*s t** us* o* t** `*it*u*.*om/x*ipuuv/*ojsons***m*` li*r*ry, w*i** improp*rly