KubeVela Terraform remote loader DoS via unbounded file read
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.9.14, 1.10.9, 1.11.0-alpha.4
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: poc
- Automatable: no
- Technical impact: partial
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: poc · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- kubevela kubevela
fixed in 1.9.14; From 1.10.0-alpha.1 · fixed in 1.10.9; From 1.11.0-alpha.1 · fixed in 1.11.0-alpha.4
- github.com/oam-dev/kubevelaGo
fixed in 1.9.14; From 1.10.0-alpha.1 · fixed in 1.10.9; From 1.11.0-alpha.1 · fixed in 1.11.0-alpha.4
- github.com/oam-dev/kubevelaGo
fixed in 1.9.14
- github.com/oam-dev/kubevelaGo
From 1.10.0-alpha.1 · fixed in 1.10.9
- github.com/oam-dev/kubevelaGo
From 1.11.0-alpha.1 · fixed in 1.11.0-alpha.4