Skip to main content

Capsule CVE-2026-61672

| EUVDEUVD-2026-83164 HIGH
Incorrect Comparison (CWE-697)
2026-09-18 GitHub_M GHSA-gjw4-3v3v-rqxg
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as tenant owner
  2. Delivery
    Craft resource with case-mismatched forbidden metadata key
  3. Exploit
    Binary search misses present key in ExactMatch
  4. Execution
    ValidateForbidden wrongly permits key
  5. Persist
    Apply restricted namespace/Service/node metadata
  6. Impact
    Influence cluster policy outside tenant boundary

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Incorrect comparison
Exploitation Conditions

Requires (1) an authenticated Capsule tenant owner (PR:L), and (2) a cluster administrator forbidden list configured such that case-insensitive sorting and byte-order sorting of the denied metadata keys produce different orderings - i.e., a list mixing capitalized and lowercase keys. Uniformly lowercase forbidden lists whose two orderings coincide are NOT exploitable. The bypass targets namespace, Service, or delegated node metadata restrictions on Capsule versions prior to 0.13.7. The dependence on a specific mixed-case administrator configuration (AC:H) is the primary limiting factor, alongside the requirement for valid tenant-owner credentials.

Impact

This is a genuine but conditional authorization-bypass issue, not a high-CVSS-low-real-risk inflation. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N = 7.1) is internally consistent with the mechanism: network-reachable Kubernetes API, but AC:H because exploitation depends on the administrator's forbidden list containing keys whose case-insensitive ordering diverges from byte ordering (mixed capitalized/lowercase keys) - uniformly-lowercase lists are explicitly not affected. PR:L reflects an authenticated tenant owner; S:C and I:H reflect that a successful bypass reaches beyond the tenant boundary to influence cluster policies, network exposure, and scheduling. No EPSS score, no CISA KEV listing, and no public exploit code are provided in the input, so exploitation status is 'no public exploit identified at time of analysis.' The dominant risk-limiting signal is the AC:H precondition (misconfigured/mixed-case forbidden list) plus required tenant-owner authentication, which makes this an environment-specific rather than mass-exploitable flaw. Note the input tag 'Information Disclosure' conflicts with the vector, which is integrity-dominant (I:H, C:L) - this is a policy/authorization bypass, not primarily disclosure.

Exploit ScenarioDerived

In a cluster where the administrator's Capsule forbidden metadata list mixes capitalized and lowercase keys, an authenticated tenant owner submits a namespace, Service, or node metadata key that the case-insensitive-sorted-but-byte-searched binary lookup fails to find. api.ValidateForbidden incorrectly allows the key, letting the tenant set restricted metadata that influences cluster policy, network exposure, or scheduling outside its tenant boundary. No public exploit code is identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 18, 2026

Capsule, the Kubernetes multi-tenancy and policy framework (projectcapsule/capsule), mishandles case-insensitive sorting in its forbidden-list lookup on versions prior to 0.13.7, allowing an authenticated tenant owner to slip denied metadata keys past api.ValidateForbidden and bypass configured namespace, Service, or delegated node metadata restrictions - potentially altering cluster policies, network exposure, or pod scheduling outside the tenant boundary. Exploitation is conditional: the cluster administrator's forbidden list must mix capitalized and lowercase keys (or otherwise produce different case-insensitive and byte-order sortings), which is why the assessed vector is AV:N/AC:H/PR:L with scope change and high integrity impact. The flaw maps to CWE-697 (Incorrect Comparison), and no public exploit code or confirmed in-the-wild activity has been identified at time of analysis; a vendor fix is available in 0.13.7.

RemediationAI

Vendor-released patch: upgrade to Capsule 0.13.7 (release tag v0.13.7) or later; the fix is the change merged in PR 1982 / commit 755cef54bf4a1bc56d6692130132bc70755bef46 and detailed in advisory GHSA-gjw4-3v3v-rqxg. Rolling the Capsule Helm chart forward to the 0.13.7 image is the supported path and requires no CRD migration for this specific bug. If immediate upgrade is not possible, the practical compensating control is to rewrite every administrator forbidden list so all denied metadata keys are uniformly lowercase and sorted consistently: because the case-insensitive and byte orderings then coincide, the binary search returns correct results. The trade-off is that case-sensitive or mixed-case key intents are lost, and you can no longer distinguish keys that differ only in case, so any such distinctions must be re-implemented as separate, unambiguous entries. As a secondary measure, restrict who holds Tenant owner credentials, since the bypass still requires an authenticated tenant owner (PR:L), and audit admission decisions for namespace, Service, and delegated node metadata that would otherwise have matched a forbidden entry. Do not rely on disabling the metadata or rulestatus webhooks as a fix - disabling them removes the enforcement point entirely and widens exposure rather than narrowing it.

Affected VersionsENISA

capsule < 0.13.7

Affected Packages

go github.com/projectcapsule/capsule fix: 0.13.7
euvd capsule fix: 0.13.7

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-697, an incorrect comparison, in ForbiddenListSpec.ExactMatch within pkg/api/forbidden_list.go. Capsule sorts the administrator-supplied denied metadata keys using a case-insensitive comparison (effectively normalizing with strings.ToLower), but then performs the membership test with sort.SearchStrings, which is a binary search that requires the slice to be sorted in raw byte order. When the two orderings diverge - typically when the forbidden list mixes capitalized and lowercase keys - binary search can terminate early and report 'not found' for a key that is actually present. The lookup backs api.ValidateForbidden, the gate used by Capsule's admission-webhook path to reject objects that reference forbidden namespace, Service, or delegated node metadata. A tenant owner who is already authenticated against the cluster can therefore construct metadata that should have been denied and have it accepted, escaping the tenant boundary defined by the platform team. Capsule's CPE (cpe:2.3:a:projectcapsule:capsule:*:*:*:*:*:*:*:*) indicates the entire prior release line rather than a single version stream, consistent with the code shipping in all releases before the 0.13.7 fix. Notably, uniformly lowercase forbidden lists are benign because their case-insensitive and byte orderings coincide, which is the primary reason the vulnerability is rated high-access-complexity rather than trivially remote-exploitable.

Know when Capsule gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.1 HIGH
AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N
vuln.today AI 7.1 HIGH

Network-facing K8s API (AV:N) but exploitation depends on a mixed-case forbidden list (AC:H); authenticated tenant owner (PR:L); bypass crosses tenant boundary affecting cluster (S:C, I:H), minor read (C:L).

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:L/SI:H/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Sep 18, 2026 - 18:03 EUVD
CVE Published
Sep 18, 2026 - 16:29 cve.org
HIGH 7.1

DescriptionCVE.org

Capsule is a multi-tenancy and policy-based framework for Kubernetes. Prior to 0.13.7, ForbiddenListSpec.ExactMatch in pkg/api/forbidden_list.go sorts denied metadata keys case-insensitively and then uses sort.SearchStrings, which assumes byte-order sorting. When an administrator's forbidden list mixes capitalized and lowercase keys or otherwise has different case-insensitive and byte ordering, the binary search can return false for a key that is present. An authenticated tenant owner can then pass the missed key through api.ValidateForbidden and bypass configured namespace, Service, or delegated node metadata restrictions, potentially influencing cluster policies, network exposure, or scheduling outside the tenant boundary. Uniformly lowercase lists whose two orderings coincide are not affected. This issue is fixed in version 0.13.7.

Technical POC Analysis

CWE-697 (Incorrect Comparison); the advisory also maps CWE-863.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Capsule, the Kubernetes multi-tenancy and policy framework that organizations rely on to enforce tenant isolation, can be made to accept metadata keys that administrators explicitly placed on a forbidden list on all versions prior to 0.13.7. An authenticated tenant owner could therefore alter cluster policies, expand network exposure, or influence pod scheduling beyond their own namespace - but only on clusters where the administrator's forbidden list mixes capitalized and lowercase keys. The exposure is conditional and no public exploit has been observed, yet the consequence is a quiet erosion of the boundary control that justifies running multi-tenant Kubernetes in the first place.

Business Impact: High
Compensating Controls

Apply vendor patch (upgrade to Capsule 0.13.7); if the upgrade cannot be completed immediately, normalize all forbidden-list metadata keys to a single consistent case and restrict tenant-owner write privileges over namespace, Service, and node metadata.

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Low
niche self-hosted Kubernetes multi-tenancy add-on, limited production footprint
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

56
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy