/

CVE-2026-62182

Severity:

HIGH RISK

(8.8)

OS Command Injection (CWE-78) in KubeEdge Config Jobs

CVE-2026-62182

Awaiting Analysis

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-78

Impact:

Arbitrary Command Execution

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

KubeEdge contains an OS command injection vulnerability in ConfigUpdateJob processing, where authenticated user-controlled update fields are incorporated into a shell command. A user permitted to create or modify these resources may cause arbitrary commands to run on an enrolled edge node with the privileges of the KubeEdge process.

Affected context

The vulnerability occurs in KubeEdge edge-node deployments that process ConfigUpdateJob resources through the configuration update task manager. Risk is present when a principal can create or modify these resources and supplied field values are concatenated into the keadm config-update command before execution through a system shell.

Exploit preconditions

  • Attack surface: ConfigUpdateJob resource processing on an enrolled KubeEdge edge node
  • Required access: Authenticated permission to create or modify ConfigUpdateJob resources
  • Trigger point: Handling of updateFields during construction and execution of the keadm config-update command
  • Why exploitation is possible: User-controlled values are combined into a shell command without sufficient separation from shell syntax, allowing command interpretation by the system shell

Why this happens

The underlying bug is the construction of a shell command by concatenating authenticated but untrusted resource fields and then passing the result to a system shell. Shell metacharacters and command syntax are therefore interpreted as executable instructions rather than treated solely as data. This behavior maps to CWE-78: Improper Neutralization of Special Elements used in an OS Command, commonly known as OS command injection.

Potential impact

  • An attacker may execute arbitrary commands on an enrolled edge node.
  • The attacker could access or alter data available to the KubeEdge process.
  • Node configuration or workloads may be disrupted or modified.
  • Compromise could enable further movement within the edge environment, depending on node privileges and network controls.

General mitigation guidance

Mitigation generally focuses on removing shell interpretation from configuration-update workflows and reducing the trust placed in resource fields.

Common defensive patterns include:

  • Invoke programs directly with structured argument arrays instead of constructing shell command strings.
  • Apply strict allowlists and type-aware validation to update fields before processing.
  • Treat resource content as untrusted even when submitted by authenticated users.
  • Use narrowly scoped service-account and process permissions on edge nodes.
  • Restrict which principals can create or modify ConfigUpdateJob resources.
  • Apply filesystem, network, and operating-system isolation to limit the consequences of node-process compromise.

How teams detect issues like this

Detection approaches may include:

  • Static analysis rules for shell execution APIs receiving concatenated or interpolated user-controlled values.
  • Code review checks for command strings assembled from Kubernetes resource fields.
  • Tests using benign metacharacter-like input to verify that values remain data and are never interpreted as shell syntax.
  • Admission and authorization policies restricting creation or modification of ConfigUpdateJob resources.
  • Runtime monitoring for unexpected child processes, command interpreters, or unusual command execution by KubeEdge components.
  • Automated security review tools can help identify unsafe command construction patterns during development.

Sources

SourceLink
github.comgithub.com/kubeedge/kubeedge/blob/master/CHANGELOG/CHANGELOG-1.21.md
github.comgithub.com/kubeedge/kubeedge/blob/master/CHANGELOG/CHANGELOG-1.22.md
github.comgithub.com/kubeedge/kubeedge/blob/master/CHANGELOG/CHANGELOG-1.23.md
github.comgithub.com/kubeedge/kubeedge/commit/14f65fc6207787f266cbcb0dceac7f09a81bab2b
github.comgithub.com/kubeedge/kubeedge/commit/6309a335c8e5e3c154b6bb0a09292f5c7dc598dc
github.comgithub.com/kubeedge/kubeedge/commit/ee78415a36911c1a93e59a921c23b8e4ecd83e90
github.comgithub.com/kubeedge/kubeedge/pull/7028
github.comgithub.com/kubeedge/kubeedge/pull/7029
github.comgithub.com/kubeedge/kubeedge/pull/7030
github.comgithub.com/kubeedge/kubeedge/releases/tag/v1.21.2
github.comgithub.com/kubeedge/kubeedge/releases/tag/v1.22.2
github.comgithub.com/kubeedge/kubeedge/releases/tag/v1.23.1
github.comgithub.com/kubeedge/kubeedge/security/advisories/GHSA-m3c6-2p7h-cfr3

Frequently asked

questions

It can be exploitable through the KubeEdge control and resource-management interfaces when an attacker can submit or alter a ConfigUpdateJob that is processed by an enrolled edge node. The practical scope depends on API exposure, authorization, and cluster connectivity.

Yes, the described attack requires an authenticated identity with permission to create or modify ConfigUpdateJob resources. Excessive permissions or compromised credentials can therefore increase exposure.

Avoid invoking a shell for structured configuration updates. Execute the intended program directly with separately represented arguments, combined with strict allowlist validation and rejection of unexpected values.

Enforce least-privilege authorization for job resources, treat all resource fields as untrusted input, scan for concatenated shell commands, and monitor edge nodes for unexpected process execution.

Find out what's already
exploitable in your codebase.