Junglewise Threat Intelligence

CVE-2026-61672: Capsule forbidden namespace/service/node label and annotation enforcement bypass

CVE-2026-61672 · Severity: high · CVSS 7.1 · Published 2026-09-18

Executive brief

Capsule is a Kubernetes multi-tenancy framework that enforces isolation by forbidding tenant owners from setting certain sensitive metadata keys on namespaces, services, and nodes. A flaw in the binary search logic used to check forbidden keys allows tenant owners to bypass this control and set metadata the administrator explicitly forbade. This undermines Capsule's core tenant isolation guarantees and could allow cross-tenant or system-level effects when the forbidden list contains mixed-case entries.

Technical details

The vulnerability is a logic error in the `ExactMatch` function in `pkg/api/forbidden_list.go`. The code sorts the forbidden-key list using a case-insensitive comparator (`strings.ToLower`) but then performs a binary search using `sort.SearchStrings`, which assumes byte-order sorting. When the forbidden list contains mixed-case entries (e.g., capitalised keys like `NetworkPolicy` alongside lowercase keys like `kubernetes.io/metadata.name`), the case-insensitive and byte-order sorts diverge, causing the binary search to land on the wrong index and incorrectly report that a forbidden key is not present. A tenant owner (authenticated and holding delegated rights to patch/create their own resources) can deterministically exploit this to set forbidden metadata by submitting a key that the binary search misses. The attack requires the administrator's denied list to contain at least one entry whose case-insensitive sort order differs from its byte order—the most common scenario being a mix of CamelCase and lowercase keys. A complete proof of concept is included in the advisory.

Affected products

  • Capsule Capsule v0.13.5 (and other versions with the buggy code in pkg/api/forbidden_list.go; main HEAD is also affected)

Timeline

  • 2026-09-18: disclosed: GHSA-gjw4-3v3v-rqxg published
  • 2026-01: other: CVE-2026-61672 assigned

Related threats