Loading...
Skip to main content

CVE-2025-29922 — Vulnerability in github.com/kcp-dev/kcp — CVE Details

CRITICAL

kcp allows unauthorized creation and deletion of objects in arbitrary workspaces through APIExport Virtual Workspace

Published March 20, 2025Updated March 25, 2025Source: osv

Summary

### Impact The `APIExport` Virtual Workspace can be used to manage objects in workspaces that bind that `APIExport` for resources defined in the `APIExport` or specified and accepted via permission claims. This allows an API provider (via their `APIExport`) scoped down access to workspaces of API consumers to provide their services properly. The identified vulnerability allows creating or deleting an object via the `APIExport` VirtualWorkspace in any arbitrary target workspace for pre-existing resources. By design, this should only be allowed when the workspace owner decides to give access to an API provider by creating an APIBinding. With this vulnerability, it is possible for an attacker to create and delete objects even if none of these requirements are satisfied, i.e. even if there is no APIBinding in that workspace at all or the workspace owner has created an APIBinding, but rejected a permission claim. ### Patches A fix for this issue has been identified and has been published with kcp 0.26.3 and 0.27.0. ### Workarounds For users unable to upgrade to one of the patched versions, the following guidance can be given: - Minimise the set of people with `apiexport/content` sub-resource access to `APIExport` resources. Be aware that this has to apply to all workspaces to be effective. - Filter incoming requests in a reverse proxy with a similar logic as the authorizer added in the referenced pull request. ### References See pull request (https://github.com/kcp-dev/kcp/pull/3338).

Advisory Timeline

  • First published March 20, 2025 (571 days ago).
  • Last revised March 25, 2025 — 5 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Go
Update github.com/kcp-dev/kcp to 0.26.3 or later
go get github.com/kcp-dev/kcp@v0.26.3

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: go (1).

PackageEcosystemAffectedFixed In
github.com/kcp-dev/kcp
go
All versions0.26.3

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-285
    Improper AuthorizationMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.6 score means for each attack dimension.

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

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N

Frequently Asked Questions

What is CVE-2025-29922?
kcp allows unauthorized creation and deletion of objects in arbitrary workspaces through APIExport Virtual Workspace This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.6/10).
How do I check if my project is affected by CVE-2025-29922?
CVE-2025-29922 affects github.com/kcp-dev/kcp. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2025-29922 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.6

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-w2rr-38wv-8rrp
GO-2025-3538

Related CVEs

  • CVE-2026-61682
    CRITICAL

    kcp front-proxy does not strip inbound X-Remote-* identity headers, allowing any authenticated client to inject groups/warrants and impersonate system:masters in any workspace

  • CVE-2026-107806
    CRITICAL

    Nginx UI: Authenticated Remote Code Execution via Backup Restore App Config Overwrite

  • CVE-2026-68582
    CRITICAL

    Vikunja: Link-share token reads any tenant's kanban buckets and enumerates usernames/IDs instance-wide (BOLA)

  • CVE-2026-39429
    HIGH

    kcp's cache server is accessible without authentication or authorization checks

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies