Skip to content
Heist/ feed
Back to feed
Medium

Capsule: Malformed ForbiddenAnnotations.Regex can bypass Tenant validation and trigger namespace admission panic

Type: advisorySources: OSV

Capsule is a multi-tenancy and policy-based framework for Kubernetes. From 0.13.0 until 0.13.7, the Tenant update validation in internal/webhook/tenant/validation/forbidden_annotations_regex.go compiles ForbiddenLabels.Regex for both the labels and annotations checks instead of validating ForbiddenAnnotations.Regex. An administrator who can update a Tenant can therefore persist a malformed ForbiddenAnnotations.Regex while leaving the labels expression valid. Namespace creation or update later passes the stored expression through pkg/api/forbidden_list.go, where regexp.MustCompile can panic during forbidden metadata validation and deny namespace operations for the affected tenant. This issue is fixed in version 0.13.7.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-61794
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 13:15 UTC · Revision 1

Source evidence

Capsule: Malformed ForbiddenAnnotations.Regex can bypass Tenant validation and trigger namespace admission panic

core-osv · Original source

Published 18 Sept 2026, 16:26 UTC

Capsule is a multi-tenancy and policy-based framework for Kubernetes. From 0.13.0 until 0.13.7, the Tenant update validation in internal/webhook/tenant/validation/forbidden_annotations_regex.go compiles ForbiddenLabels.Regex for both the labels and annotations checks instead of validating ForbiddenAnnotations.Regex. An administrator who can update a Tenant can therefore persist a malformed ForbiddenAnnotations.Regex while leaving the labels expression valid. Namespace creation or update later passes the stored expression through pkg/api/forbidden_list.go, where regexp.MustCompile can panic during forbidden metadata validation and deny namespace operations for the affected tenant. This issue is fixed in version 0.13.7.

osv:CVE-2026-61794
Complete source record
{
  "id": "28636cd14106dfecfdbdd94551e8cb9ac5c9b94ecb911e281764e6dec615f980",
  "url": "https://osv.dev/vulnerability/CVE-2026-61794",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Capsule: Malformed ForbiddenAnnotations.Regex can bypass Tenant validation and trigger namespace admission panic",
    "summary": "Capsule is a multi-tenancy and policy-based framework for Kubernetes. From 0.13.0 until 0.13.7, the Tenant update validation in internal/webhook/tenant/validation/forbidden_annotations_regex.go compiles ForbiddenLabels.Regex for both the labels and annotations checks instead of validating ForbiddenAnnotations.Regex. An administrator who can update a Tenant can therefore persist a malformed ForbiddenAnnotations.Regex while leaving the labels expression valid. Namespace creation or update later passes the stored expression through pkg/api/forbidden_list.go, where regexp.MustCompile can panic during forbidden metadata validation and deny namespace operations for the affected tenant. This issue is fixed in version 0.13.7.",
    "evidence": "osv:CVE-2026-61794",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-61794",
      "aliases": [
        "CVE-2026-61794",
        "GHSA-gxjc-74v5-3vx3",
        "GO-2026-6521"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:N/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/projectcapsule/capsule",
              "type": "GIT",
              "events": [
                {
                  "introduced": "c6e109ca46ed7de3a0f371df75e8abc993413a64"
                },
                {
                  "fixed": "8d89d6865df6f41c7faa22fc9e807a57b01bfd0e"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.13.0"
                      },
                      {
                        "fixed": "0.13.7"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "8d89d6865df6f41c7faa22fc9e807a57b01bfd0e"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "8d89d6865df6f41c7faa22fc9e807a57b01bfd0e"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v0.13.7"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.13.7"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.13.6",
            "v0.13.5",
            "v0.13.4",
            "v0.13.3",
            "v0.13.2",
            "v0.13.1",
            "v0.13.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-61794.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:29.166599151Z",
      "provider": "osv",
      "references": [
        "https://github.com/projectcapsule/capsule/releases/tag/v0.13.7",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61794.json",
        "https://github.com/projectcapsule/capsule/security/advisories/GHSA-gxjc-74v5-3vx3",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-61794",
        "https://github.com/projectcapsule/capsule/commit/8d89d6865df6f41c7faa22fc9e807a57b01bfd0e",
        "https://github.com/projectcapsule/capsule/pull/1983"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-20"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61794.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-61794",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 495758,
  "published_at": "2026-09-18T16:26:18.669+00:00"
}