Conversation
…sionPolicy Backport CVE-2026-10609 fix from master PR openshift#3405 to release-6.6. Implement Kubernetes ValidatingAdmissionPolicy to prevent unauthorized use of collector ServiceAccounts. A user who can create a ClusterLogForwarder can name any existing ServiceAccount; without protection, that user could create a Pod/Deployment referencing the collector SA and inherit its privileges (logging-scc, host mounts, token access). Two ValidatingAdmissionPolicies enforce that collector ServiceAccounts can only be used by: - CLO-managed workloads (created by the operator ServiceAccount) - Built-in kube-system controllers propagating from those workloads (daemon-set-controller, replicaset-controller, deployment-controller, etc.) The trust anchor is request.userInfo (authenticated creator), not Pod metadata, so copying collector labels/annotations/names does not bypass the check. Changes for release-6.6: - ValidatingAdmissionPolicy manifests with CEL expressions - ConfigMap parameter tracking protected SAs and allowed creator identities - Controller reconciling policies/bindings and syncing ConfigMap on CLF events - ConfigMap self-healing via Watches predicate - API availability check at manager startup (gracefully disabled if unavailable) - Unit tests for policy logic and ConfigMap sync/self-healing - envtest for CEL validation against real kube-apiserver - E2E tests verifying policy enforcement - Manual test script (hack/test-protected-sa.sh) - Documentation on protected ServiceAccounts and ValidatingAdmissionPolicy Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: openshift/cluster-logging-operator/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: vparfonov The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@vparfonov: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Description
Backport CVE-2026-10609 fix from master PR #3405 to release-6.6.
Implement Kubernetes ValidatingAdmissionPolicy to prevent unauthorized use of collector ServiceAccounts. A user who can create a ClusterLogForwarder can name any existing ServiceAccount; without protection, that user could create a Pod/Deployment referencing the collector SA and inherit its privileges (logging-scc, host mounts, token access).
Two ValidatingAdmissionPolicies enforce that collector ServiceAccounts can only be used by:
The trust anchor is request.userInfo (authenticated creator), not Pod metadata, so copying collector labels/annotations/names does not bypass the check.
Changes for release-6.6:
/cc
/assign @jcantrill
Links