CVE-2026-55108
moderateSymlink-based memory exhaustion DoS in KubeVela vela-core Terraform loader
KubeVela's Terraform remote configuration loader (GetTerraformConfigurationFromRemote in pkg/controller/utils/capability.go) follows repository-controlled symlinks for variables.tf and main.tf referenced by a core.oam.dev/v1beta1 ComponentDefinition, without bounding what the link resolves to. A user with permission to create or update ComponentDefinition objects can set terraform.path so that variables.tf points at /dev/zero, causing os.Stat and os.ReadFile to consume an unbounded stream before HCL parsing can reject the content. The resulting memory exhaustion can OOM-kill the cluster-wide vela-core controller, triggering repeated Pod restarts and, when no effective container memory limit is configured, node-level memory pressure; the CVSS vector also carries a low confidentiality component, yielding an overall High (8.5) score. Anyone running KubeVela prior to 1.9.14, 1.10.0-alpha.1 through before 1.10.9, or 1.11.0-alpha.1 through before 1.11.0-alpha.4 is affected, with practical exploitability limited to clusters that grant ComponentDefinition create/update rights to non-admin users. There is no known exploitation, no public proof-of-concept, and the flaw is not in CISA KEV; EPSS puts the 30-day exploitation probability at 0.6%.
What to do: Upgrade to KubeVela 1.9.14, 1.10.9, or 1.11.0-alpha.4 (or later) depending on your release line. Until patched, restrict create/update permissions on core.oam.dev/v1beta1 ComponentDefinition objects to trusted administrators and audit existing ComponentDefinitions for terraform.path values resolving to device files such as /dev/zero. Also ensure vela-core has effective container memory limits to contain any OOM blast radius, and monitor for unexpected controller Pod restarts.
| KubeVela (open source application delivery platform) KubeVela (vela-core controller) | prior to 1.9.14 |
| KubeVela (open source application delivery platform) KubeVela (vela-core controller) | 1.10.0-alpha.1 through before 1.10.9 |
| KubeVela (open source application delivery platform) KubeVela (vela-core controller) | 1.11.0-alpha.1 through before 1.11.0-alpha.4 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
KubeVela is an open source application delivery platform. Prior to 1.9.14, from 1.10.0-alpha.1 until 1.10.9, and from 1.11.0-alpha.1 until 1.11.0-alpha.4, the Terraform remote configuration loader in pkg/controller/utils/capability.go, GetTerraformConfigurationFromRemote, clones a repository supplied through a core.oam.dev/v1beta1 ComponentDefinition and follows repository-controlled variables.tf or main.tf symlinks. A user with permission to create or update ComponentDefinition objects can point variables.tf to /dev/zero through terraform.path, after which os.Stat and os.ReadFile follow the link and read an unbounded stream before ParseTerraformVariables or HCL parsing can reject the content. The read can exhaust memory, OOM-kill the cluster-wide vela-core controller, cause repeated Pod restarts, and pressure node memory when no effective container limit is configured. This issue is fixed in versions 1.9.14, 1.10.9, and 1.11.0-alpha.4.
- Weakness
- CWE-59, CWE-400
- Vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:H
In the news0 stories
No ingested article mentions this CVE yet.