Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Primary rating from NVD.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Lifecycle Timeline
5DescriptionNVD
A flaw was found in migration-planner. A remote authenticated attacker could exploit this vulnerability by uploading a specially crafted RVTools .xlsx file. Due to improper input sanitization, malicious SQL embedded within a spreadsheet cell is executed when cluster names are processed. This SQL Injection allows for arbitrary file reading on the system, potentially exposing sensitive information such as Kubernetes service account tokens and other credentials, which could lead to a full compromise of the SaaS environment.
Articles & Coverage 2
AnalysisAI
SQL injection in Red Hat's kubev2v migration-planner allows a remote authenticated attacker to upload a crafted RVTools .xlsx file whose cluster-name cells are interpolated unsanitized into DuckDB queries, enabling arbitrary file reads on the host. Because the tool runs as a SaaS migration assessment service, leaked Kubernetes service account tokens or other credentials can pivot to full environment compromise. No public exploit identified at time of analysis, but an upstream fix is available via PR #1231.
Technical ContextAI
migration-planner is the kubev2v project's tool for assessing VMware environments prior to migration to OpenShift/Kubernetes (KubeVirt). It ingests RVTools .xlsx exports and uses DuckDB as an embedded analytical engine to query the resulting dataset. The vulnerable code path in pkg/duckdb_parser/builder.go concatenates the Cluster, OS, PowerState, and VmId filter values - ultimately sourced from spreadsheet cells like cluster names - directly into SQL query strings instead of using parameterized queries, which is the CWE-89 root cause. DuckDB exposes file-system functions (e.g., read_csv, read_blob) that an attacker can invoke via injection to exfiltrate local files such as Kubernetes service-account tokens mounted into the pod.
RemediationAI
Upstream fix available (PR https://github.com/kubev2v/migration-planner/pull/1231); released patched version not independently confirmed - operators of self-hosted migration-planner should rebuild from a commit that includes the escapeSQLString wrapping of ClusterFilter, OSFilter, PowerStateFilter, and VmIDFilter in pkg/duckdb_parser/builder.go, and SaaS users should track Red Hat's advisory at https://access.redhat.com/security/cve/CVE-2026-53474 and Bugzilla 2487231 for the rolled service update. Until the patch is deployed, restrict upload permissions to a minimal set of trusted users, reject or sanitize RVTools .xlsx files whose cluster, OS, power-state, or VM-ID columns contain SQL metacharacters (quotes, semicolons, parentheses), and constrain the migration-planner pod's service-account token to the least privilege needed (no cluster-admin, projected token audiences scoped narrowly) so file-read primitives yield less useful credentials; note that input rejection may block legitimate cluster names containing apostrophes and that token-scope reductions can break legitimate Kubernetes API calls the planner performs.
More in Kubernetes
View allA critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access
Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio
Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres
A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne
The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4
Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can
Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass
Kamaji is the Hosted Control Plane Manager for Kubernetes. Rated critical severity (CVSS 9.9), this vulnerability is rem
Jumpserver is a popular open source bastion host, and Koko is a Jumpserver component that is the Go version of coco, ref
Same weakness CWE-89 – SQL Injection
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36030
GHSA-vf2h-7x3w-97fr