Affected by GO-2024-3077
and 6 other vulnerabilities
GO-2024-3077: Capsule tenant owner with "patch namespace" permission can hijack system namespaces in github.com/projectcapsule/capsule
GO-2026-5406: Capsule: Incomplete fix of CVE-2026-30963: singular/plural typo leaves namespaces/finalize unprotected in github.com/projectcapsule/capsule
GO-2026-6155: Capsule: CapsuleConfiguration NodeMetadata regex fields lack webhook validation, allowing MustCompile panic on all Node admission requests in github.com/projectcapsule/capsule
GO-2026-6157: Capsule has an incomplete fix of CVE-2026-22872: TenantResource RawItems and Generators still allow cluster-scoped resource creation (cross-tenant privilege escalation) in github.com/projectcapsule/capsule
GO-2026-6519: Capsule: hostnameRegexHandler.OnUpdate validates stale (old) Tenant regex, allowing invalid AllowedHostnames regex to bypass webhook validation in github.com/projectcapsule/capsule
GO-2026-6520: Capsule: Tenant owner bypasses Capsule's forbidden namespace/service/node label and annotation enforcement in github.com/projectcapsule/capsule
GO-2026-6521: Capsule: Malformed ForbiddenAnnotations.Regex can bypass Tenant validation and trigger namespace admission panic in github.com/projectcapsule/capsule
type TenantOwnerManager struct {
client.Client Log logr.Logger// contains filtered or unexported fields
}
TenantOwnerManager reconciles TenantOwner objects and keeps
status.tenants / status.matchedTenants / status.conditions in sync.
It watches both TenantOwner objects (for spec changes) and Tenant objects
(for selector changes), re-enqueuing every TenantOwner whenever any Tenant
changes, because a single Tenant change can affect any subset of TenantOwners.