Description
Strimzi provides a way to run an Apache Kafka cluster on Kubernetes or OpenShift in various deployment configurations. In Strimzi 1.0.0 and earlier, an attacker who can create a Kafka custom resource can set Kafka.spec.entityOperator watchedNamespace to a target namespace, causing the Cluster Operator to create a Role with full Secret CRUD permissions there and bind it to the Entity Operator ServiceAccount in the attacker's namespace. The attacker can mint a token for that ServiceAccount and read or write Secrets in any target namespace where the Cluster Operator has been granted permissions, regardless of STRIMZI_NAMESPACE. This issue is fixed in versions 1.0.1 and 1.1.0.
Published: 2026-09-15
Score: 8 High
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑namespace privilege escalation via Kafka spec entityOperator
Action: Patch immediately
AI Analysis

Impact

An attacker who can create a Kafka custom resource is able to set the entityOperator.watchedNamespace field to any target namespace. The operator then creates a Role that grants full create, read, update, and delete permissions on Secrets in that namespace and binds it to the Entity Operator ServiceAccount that belongs to the attacker's namespace. Because the attacker can obtain a token for that ServiceAccount, they can read or write Secrets in the target namespace, regardless of the originally intended broker namespace. This constitutes cross‑namespace privilege escalation that allows the attacker to access sensitive data such as passwords or certificates. The weakness involves improper access control, insecure default permissions, and untrusted input, reflected in CWE‑250, CWE‑269 and CWE‑441. The likely attack vector is that an attacker must already possess the permission to create Kafka custom resources, typically requiring cluster‑level or namespace‑editor rights – this prerequisite is inferred from the description rather than explicitly stated.

Affected Systems

Strimzi Kafka Operator versions 1.0.0 and earlier, running on Kubernetes or OpenShift clusters, are affected. Versions 1.0.1 and 1.1.0 contain the fix and are not vulnerable.

Risk and Exploitability

The CVSS score of 8.0 classifies this as a high‑severity vulnerability. The EPSS indicates a probability of less than 1 %, so widespread exploitation is considered unlikely, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires that the attacker already have the permission to create Kafka custom resources; no additional network exposure or vulnerability is necessary. Once the Role is created the privileges persist even if the attacker’s namespace is removed, meaning the escalation is durable.

Generated by OpenCVE AI on September 20, 2026 at 15:36 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Strimzi Kafka Operator to version 1.0.1 or later, which contains the patch that removes the unrestricted role creation.
  • If the watched‑namespace feature is unnecessary, disable or restrict it so that the operator can only monitor its own namespace, limiting privilege escalation.
  • Restrict the creation of Kafka custom resources to trusted administrators only, and audit RBAC to ensure no unintended Secret permissions are granted across namespaces.

Generated by OpenCVE AI on September 20, 2026 at 15:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-mw9r-p8xp-wx96 Strimzi: Cross-namespace privilege escalation via `Kafka.spec.entityOperator`
History

Wed, 16 Sep 2026 13:30:00 +0000


Tue, 15 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 15 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Description When the Strimzi cluster operator is deployed with watchAnyNamespace=true (or a multi-namespace list), any namespace editor can set Kafka.spec.entityOperator.userOperator.watchedNamespace (or topicOperator.watchedNamespace) to an arbitrary namespace. The cluster operator then creates a Role granting full CRUD on Secrets in the target namespace and a RoleBinding pointing to a ServiceAccount in the attacker's namespace — effectively granting cluster-admin-equivalent access via kube-system secret exfiltration. The RBAC objects created cross-namespace have their ownerReferences deliberately stripped, making the privilege grant persistent even after the Kafka CR or attacker namespace is deleted. Fixed in Strimzi 1.0.1 and 1.1.0 by adding a dedicated environment variable to explicitly enable the watched namespace feature (disabled by default). Strimzi provides a way to run an Apache Kafka cluster on Kubernetes or OpenShift in various deployment configurations. In Strimzi 1.0.0 and earlier, an attacker who can create a Kafka custom resource can set Kafka.spec.entityOperator watchedNamespace to a target namespace, causing the Cluster Operator to create a Role with full Secret CRUD permissions there and bind it to the Entity Operator ServiceAccount in the attacker's namespace. The attacker can mint a token for that ServiceAccount and read or write Secrets in any target namespace where the Cluster Operator has been granted permissions, regardless of STRIMZI_NAMESPACE. This issue is fixed in versions 1.0.1 and 1.1.0.
Title strimzi-cluster-operator: Cross-namespace privilege escalation via Kafka.spec.entityOperator.watchedNamespace in Strimzi Strimzi: Cross-namespace privilege escalation via `Kafka.spec.entityOperator`
Weaknesses CWE-269
CWE-441
References

Wed, 24 Jun 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Strimzi
Strimzi kafka-operator
Vendors & Products Strimzi
Strimzi kafka-operator

Thu, 18 Jun 2026 16:45:00 +0000

Type Values Removed Values Added
Description When the Strimzi cluster operator is deployed with watchAnyNamespace=true (or a multi-namespace list), any namespace editor can set Kafka.spec.entityOperator.userOperator.watchedNamespace (or topicOperator.watchedNamespace) to an arbitrary namespace. The cluster operator then creates a Role granting full CRUD on Secrets in the target namespace and a RoleBinding pointing to a ServiceAccount in the attacker's namespace — effectively granting cluster-admin-equivalent access via kube-system secret exfiltration. The RBAC objects created cross-namespace have their ownerReferences deliberately stripped, making the privilege grant persistent even after the Kafka CR or attacker namespace is deleted. Fixed in Strimzi 1.0.1 and 1.1.0 by adding a dedicated environment variable to explicitly enable the watched namespace feature (disabled by default).
Title strimzi-cluster-operator: Cross-namespace privilege escalation via Kafka.spec.entityOperator.watchedNamespace in Strimzi
Weaknesses CWE-250
References
Metrics threat_severity

None

cvssV3_1

{'score': 8.0, 'vector': 'CVSS:3.1/AV:A/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H'}

threat_severity

Important


Subscriptions

Strimzi Kafka-operator
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-16T12:04:21.530Z

Reserved: 2026-06-16T16:16:32.628Z

Link: CVE-2026-55225

cve-icon Vulnrichment

Updated: 2026-09-15T19:02:31.415Z

cve-icon NVD

Status : Received

Published: 2026-09-15T18:17:23.667

Modified: 2026-09-16T13:18:03.010

Link: CVE-2026-55225

cve-icon Redhat

Severity : Important

Publid Date: 2026-06-17T00:00:00Z

Links: CVE-2026-55225 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-20T15:45:17Z

Weaknesses
  • CWE-250

    Execution with Unnecessary Privileges

  • CWE-269

    Improper Privilege Management

  • CWE-441

    Unintended Proxy or Intermediary ('Confused Deputy')