Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ GHSA-q6hv-wcjr-wp8h — kcp

🟢 CVSS 2.0 — Low ✅ No Known Exploit CWE-285 OSV
2.0
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

kcp is missing update validation allows arbitrary LogicalCluster status patches through initializingworkspaces Virtual Workspace

Impact

Because UPDATE validation is not being applied, it is possible for an actor with access to an instance of the [initializingworkspaces virtual workspace](https://docs.kcp.io/kcp/latest/concepts/workspaces/workspace-initialization/) to run arbitrary patches on the status field of LogicalCluster objects while the workspace is initializing.

This allows to add or remove any initializers as well as changing the phase of a LogicalCluster (to "Ready" for example).

As this effectively allows to skip certain initializers or the entire initialization phase, potential integrations with external systems such as billing or security could be affected. Their initializers could be skipped by a WorkspaceType that adds another initializer and grants permissions to the virtual workspace to a rogue or compromised entity.

_Who is impacted?_

  • Impacts other owners of WorkspaceTypes with initializers that are inherited by other WorkspaceTypes.
  • Impacts developers using the virtual/framework package to create their own virtualworkspaces if they are using UpdateFuncs in their custom storageWrappers.

Details

The issue occurs because the [rest.ValidateObjectUpdateFunc](https://github.com/kcp-dev/kcp/blob/cli/v0.28.1/pkg/virtual/framework/forwardingregistry/store.go#L174) is not being called within the DefaultDynamicDelegatedStoreFuncs. As a result, the intended status overwrite protection from initializers never gets called, allowing arbitrary logicalcluster status patches.

Patches

The problem has been patched in #3599 and is available in kcp 0.28.3 and higher.

Workarounds

  • Further limit access to the initialize verb on WorkspaceType objects (see [documentation](https://docs.kcp.io/kcp/v0.28/concepts/workspaces/workspace-initialization/#enforcing-permissions-for-initializers) for details).
  • Only use trusted WorkspaceType objects.

References

See the pull request (#3599).

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is high, an attacker needs low-level privileges on the target. No user interaction is required. Rated impact: confidentiality none, integrity low, availability none.

Weakness class

GHSA-q6hv-wcjr-wp8h is classified as CWE-285: Improper Authorization. A request is carried out without confirming that the caller is permitted to perform it on that specific resource.

Affected software

GHSA-q6hv-wcjr-wp8h is recorded against 1 package.

  • github.com/kcp-dev/kcp

Timeline and source

Published on 26 September 2025 and last revised on 23 October 2025. No public exploit is currently recorded for this entry. Record sourced from OSV.

References

github.com (Web)
github.com (Web)
github.com (Web)
github.com (Package)
github.com (Web)
pkg.go.dev (Web)

Details

Severity LOW
CVSS Score 2.0
CVSS Vector CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
CWE CWE-285
Public Exploit ✅ No
Source OSV
Published 2025-09-26
Updated 2026-08-20
Modified 2025-10-23
Fix URL N/A

Affected Packages

Software From version Fixed in
github.com/kcp-dev/kcp

Similar Threats

Free Vulnerability Check

Is your site affected by GHSA-q6hv-wcjr-wp8h?

BotEraser helps you identify potentially vulnerable plugins and themes by checking your installation against GHSA-q6hv-wcjr-wp8h and other known CVE records.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.