{"id":"CVE-2026-50240","title":"Pipelines-as-code: openshift-pipelines-operator-rh: pipelines-as-code: repository users can trigger namespace edit-equivalent execution via auto-provisioned pipeline serviceaccount","summary":"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 permissi…","severity":"high","cvss":8.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","cwe":["CWE-862"],"vendor":"Red Hat","product":"openshift-builds/openshift-builds-rhel9-operator","affected":["openshift-builds/openshift-builds-rhel9-operator (all versions)","openshift-pipelines-client (all versions)","openshift-pipelines/pipelines-cli-tkn-rhel8 (all versions)","openshift-pipelines/pipelines-cli-tkn-rhel9 (all versions)","openshift-pipelines/pipelines-opc-rhel9 (all versions)","openshift-pipelines/pipelines-operator-proxy-rhel8 (all versions)","openshift-pipelines/pipelines-operator-proxy-rhel9 (all versions)","openshift-pipelines/pipelines-operator-webhook-rhel8 (all versions)","openshift-pipelines/pipelines-operator-webhook-rhel9 (all versions)","openshift-pipelines/pipelines-pipelines-as-code-cli-rhel8 (all versions)","openshift-pipelines/pipelines-pipelines-as-code-cli-rhel9 (all versions)","openshift-pipelines/pipelines-pipelines-as-code-controller-rhel8 (all versions)","openshift-pipelines/pipelines-pipelines-as-code-controller-rhel9 (all versions)","openshift-pipelines/pipelines-pipelines-as-code-watcher-rhel8 (all versions)","openshift-pipelines/pipelines-pipelines-as-code-watcher-rhel9 (all versions)","openshift-pipelines/pipelines-pipelines-as-code-webhook-rhel8 (all versions)","openshift-pipelines/pipelines-pipelines-as-code-webhook-rhel9 (all versions)","openshift-pipelines/pipelines-rhel8-operator (all versions)","openshift-pipelines/pipelines-rhel9-operator (all versions)","openshift-serverless-1/kn-client-kn-rhel9 (all versions)","openshift-serverless-1/kn-plugin-func-func-util-rhel9 (all versions)","openshift-serverless-clients (all versions)","devspaces/udi-rhel9 (all versions)","web-terminal/web-terminal-tooling-rhel9 (all versions)"],"published":"2026-11-06","updated":"2026-11-06","sourceUpdated":"2026-11-06T21:53:53.997Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-50240","references":[{"url":"https://access.redhat.com/security/cve/CVE-2026-50240"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2484752","label":"RHBZ#2484752"}],"tags":["cve.org"],"ingestedAt":"2026-11-06T22:04:56.298Z","epss":0.0037,"epssPercentile":0.31147,"slug":"CVE-2026-50240","body":"## Overview\n\nA 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.\n\n## Affected\n\n- `openshift-builds/openshift-builds-rhel9-operator (all versions)`\n- `openshift-pipelines-client (all versions)`\n- `openshift-pipelines/pipelines-cli-tkn-rhel8 (all versions)`\n- `openshift-pipelines/pipelines-cli-tkn-rhel9 (all versions)`\n- `openshift-pipelines/pipelines-opc-rhel9 (all versions)`\n- `openshift-pipelines/pipelines-operator-proxy-rhel8 (all versions)`\n- `openshift-pipelines/pipelines-operator-proxy-rhel9 (all versions)`\n- `openshift-pipelines/pipelines-operator-webhook-rhel8 (all versions)`\n- `openshift-pipelines/pipelines-operator-webhook-rhel9 (all versions)`\n- `openshift-pipelines/pipelines-pipelines-as-code-cli-rhel8 (all versions)`\n- `openshift-pipelines/pipelines-pipelines-as-code-cli-rhel9 (all versions)`\n- `openshift-pipelines/pipelines-pipelines-as-code-controller-rhel8 (all versions)`\n- `openshift-pipelines/pipelines-pipelines-as-code-controller-rhel9 (all versions)`\n- `openshift-pipelines/pipelines-pipelines-as-code-watcher-rhel8 (all versions)`\n- `openshift-pipelines/pipelines-pipelines-as-code-watcher-rhel9 (all versions)`\n- `openshift-pipelines/pipelines-pipelines-as-code-webhook-rhel8 (all versions)`\n- `openshift-pipelines/pipelines-pipelines-as-code-webhook-rhel9 (all versions)`\n- `openshift-pipelines/pipelines-rhel8-operator (all versions)`\n- `openshift-pipelines/pipelines-rhel9-operator (all versions)`\n- `openshift-serverless-1/kn-client-kn-rhel9 (all versions)`\n- `openshift-serverless-1/kn-plugin-func-func-util-rhel9 (all versions)`\n- `openshift-serverless-clients (all versions)`\n- `devspaces/udi-rhel9 (all versions)`\n- `web-terminal/web-terminal-tooling-rhel9 (all versions)`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n### Workarounds\n\nSet 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.","depth":"twilight","depthScore":48,"depthScoreParts":{"impact":48.4,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}