CVE-2026-55225

Strimzi: Cross-namespace privilege escalation via `Kafka.spec.entityOperator`

Published Sep 15, 2026 CVSS 3.1 · 8 High EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical 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.

Remediation

No solution or workaround provided in the CVE record.

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
Type Values Removed Values Added
Metrics ssvc

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

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
Type Values Removed Values Added
First Time appeared Strimzi
Strimzi kafka-operator
Vendors & Products Strimzi
Strimzi kafka-operator
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

Weaknesses
  • CWE-250

    Execution with Unnecessary Privileges

  • CWE-269

    Improper Privilege Management

  • CWE-441

    Unintended Proxy or Intermediary ('Confused Deputy')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Sep 16, 2026, 12:04 PM
Reserved
Jun 16, 2026, 4:16 PM
Status
Awaiting Analysis
Published
Sep 15, 2026, 6:17 PM
Modified
Sep 30, 2026, 5:43 PM
Severity
Important
Public date
Jun 17, 2026, 12:00 AM