A flaw was found in OpenShift Pipelines-as-Code (PAC). PAC does not verify whether the creator of a Repository custom resource has permission to create PipelineRuns. A namespace user with only Repository and Secret create/delete permissions can cause PAC to execute attacker-controlled PipelineRuns as the auto-provisioned pipeline ServiceAccount, which carries ClusterRole/edit by default. This results in namespace-scoped privilege escalation, enabling Secret read, resource creation/modification/deletion, and potential supply chain injection in CI/CD namespaces.
Set legacyPipelineRbac to false in the TektonConfig custom resource. This prevents the OpenShift Pipelines operator from auto-provisioning the openshift-pipelines-edit RoleBinding that grants the pipeline ServiceAccount ClusterRole/edit in every namespace. Warning: this may break existing pipelines that rely on the pipeline ServiceAccount having edit permissions. Simply deleting the openshift-pipelines-edit RoleBinding is NOT sufficient — the operator reconciliation loop will re-create it unless legacyPipelineRbac is set to false.