Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable endpoint with low-complexity injection; PR:L reflects authenticated/low-privileged access implied by the CVSS vector, yielding total host compromise (C/I/A all High).
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
6DescriptionCVE.org
The /registercrd endpoint in KubePlus 4.14 in the kubeconfiggenerator component is vulnerable to command injection. The component uses subprocess.Popen() with shell=True parameter to execute shell commands, and the user-supplied chartName parameter is directly concatenated into the command string without any sanitization or validation. An attacker can inject arbitrary shell commands by crafting a malicious chartName parameter value.
AnalysisAI
Command injection in KubePlus 4.14's kubeconfiggenerator component allows an attacker to run arbitrary shell commands on the host by supplying a crafted chartName value to the /registercrd endpoint. The flaw stems from unsanitized concatenation into a subprocess.Popen(..., shell=True) call, yielding full code execution (SSVC technical impact: total). A public proof-of-concept exists, but EPSS is very low (0.04%) and it is not on CISA KEV, so no public exploit indicates active exploitation at time of analysis.
Technical ContextAI
KubePlus is a Kubernetes add-on/operator that packages and delivers multi-instance applications as Helm-chart-based CRDs, giving consumers scoped kubeconfigs. The vulnerable kubeconfiggenerator microservice exposes an HTTP /registercrd endpoint that takes a chartName parameter and passes it into a Python subprocess.Popen() invocation with shell=True. Because the parameter is string-concatenated into the shell command line with no escaping, allow-listing, or validation, shell metacharacters (;, |, $(), backticks) are interpreted by the shell. This is a textbook CWE-94 (Improper Control of Generation of Code / code injection) manifesting as OS command injection - the root cause is trusting user input as part of an interpreted command string rather than passing arguments as a safe list without a shell.
RemediationAI
No vendor-released patch or fixed version has been identified at time of analysis, so apply compensating controls: restrict network access to the kubeconfiggenerator service and its /registercrd endpoint so it is only reachable by trusted control-plane components (NetworkPolicy or ingress rules), and require strong authentication/authorization in front of it. As a code-level fix once the vendor issues an update, the concatenated subprocess.Popen(..., shell=True) call should be replaced with an argument-list invocation without a shell and strict allow-list validation of chartName; until then, if operationally acceptable, disable or gate the CRD self-registration workflow that reaches this endpoint. Monitor the KubePlus project repository and https://nvd.nist.gov/vuln/detail/CVE-2026-29955 for an official fixed release, and cross-check any claimed fix against the researcher POC (https://github.com/b0b0haha/CVE-2026-29955). Each control has trade-offs: locking down the endpoint may break tenant self-service chart registration, and disabling the workflow removes that automation entirely.
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-22037