CVE-2026-105312: Console-operator: streams for apache kafka console: tenant-controlled container image on clusterrole-bound pod enables namespace-to-cluster privilege escalation
A Kubernetes tenant with create permission on Console custom resources can set spec.containers.api.spec.image to an arbitrary container image. The operator deploys this image into a pod whose ServiceAccount is bound via ClusterRoleBinding to a ClusterRole granting cluster-wide get/list/watch on all Strimzi CRDs (including KafkaUsers), patch on Kafkas/KafkaRebalances, and cluster-monitoring-view. The attacker's code reads the projected SA token and gains cross-tenant Strimzi control-plane read+write access.
Other sources
Source: Internal security audit — Streams for Apache Kafka Console f001 Upstream project: StreamsHub Console (Red Hat-owned, github.com/streamshub/console) Upstream advisory: N/A — Red Hat-owned code, no external disclosure needed
Affected code: - ConsoleDeployment.java — passes tenant-supplied spec.containers.api.spec.image verbatim to .withImage() with zero validation - ClusterRoleBinding grants console-server SA cluster-wide Strimzi CRD access
Fix status: Unfixed in upstream main and all downstream versions. Requires image allowlist validation or removal of tenant image override capability.
— Red Hat
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Validate tenant-supplied spec.containers.api.spec.image against an administrator-controlled image allowlist, or remove the tenant image override capability so tenants cannot select arbitrary container images.
StreamsHub Console operator spec.containers.api.spec.image = allowlisted images only