CVE-2026-18949: Odh-dashboard: odh-dashboard: clusterrole grants cluster-wide crud on secrets and rbac management resources

Published Aug 4, 2026
·
Updated

A flaw was found in odh-dashboard. This vulnerability allows an attacker, who has compromised the dashboard's Service Account (SA) token, to exploit overly broad permissions granted to the SA. This enables the attacker to escalate their privileges to cluster-administrator level, gain access to sensitive data like credentials and keys across the entire cluster, and disrupt multi-tenant isolation.

Other sources

Description

Description of problem The odh-dashboard ClusterRole grants cluster-wide CRUD on secrets, configmaps, PVCs (lines 56-68) and cluster-wide RBAC management (rolebindings, clusterrolebindings, roles at lines 134-148).

Verified on live OCP 4.21 cluster: the dashboard SA can read 631 secrets cluster-wide and create ClusterRoleBindings, enabling cluster-admin escalation post-compromise.

File: manifests/core-bases/base/sa-rbac/cluster-role.yaml

NOTE: This finding is NOT covered by CVE-2026-2353, which tracks other RHOAI operators (feast, notebook-controller, model-controller, trustyai, DSPO, KubeRay) but not the dashboard.

Impact:

631 secrets readable cluster-wide (registry credentials, TLS keys, AWS credentials)

ClusterRoleBinding creation confirmed (full cluster-admin escalation)

Secret deletion cluster-wide

Persistent backdoor access via CRB creation

Multi-tenant isolation BROKEN

Prerequisites RHOAI/ODH with dashboard component enabled

Compromise of the dashboard SA token (via container escape, dependency vulnerability, supply chain attack, or the header spoofing chain from the red team assessment)

The dashboard SA token is mounted in 8-9 containers within the dashboard pod, increasing the attack surface

Steps to Reproduce Verify dashboard SA permissions:

oc auth can-i --list --as=system:serviceaccount:opendatahub:odh-dashboard Verify cluster-wide secret access:

oc get secrets --all-namespaces --as=system:serviceaccount:opendatahub:odh-dashboard --no-headers | wc -l Expected: 631+ Verify CRB creation:

oc auth can-i create clusterrolebindings --as=system:serviceaccount:opendatahub:odh-dashboard Expected: yes Actual results ODH on OCP 4.21 (verified 2026-06-16):

Dashboard SA can read 631 secrets cluster-wide

Dashboard SA can create ClusterRoleBindings (cluster-admin escalation)

Dashboard SA can delete secrets cluster-wide

Dashboard SA cannot create pods in kube-system (partial mitigation)

8-9 containers in the dashboard pod share this SA token

Expected results Secret/configmap/PVC access should be scoped to dashboard and user namespaces only (namespace-scoped Role + RoleBinding)

ClusterRoleBindings CRUD should be removed (namespace-scoped rolebindings should suffice for image puller roles)

Apply least-privilege per namespace

Reproducibility Always - 100% reproducible.

Found in what build CONFIRMED VULNERABLE:

ODH on OCP 4.21 (odh-dashboard image: odh-dashboard-f45cd6bb4)

LIKELY VULNERABLE:

All RHOAI 2.x and 3.x versions with dashboard enabled (same ClusterRole definition)

Describe any workarounds Restrict access to the opendatahub namespace (limit who can compromise the dashboard pod)

Implement egress NetworkPolicy to restrict dashboard outbound traffic

Monitor for unexpected ClusterRoleBinding creation (audit log alerting)

Additional information Root Cause:

manifests/core-bases/base/sa-rbac/cluster-role.yaml lines 56-68 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: odh-dashboard rules: - apiGroups: [""] resources: [secrets, configmaps, persistentvolumeclaims] verbs: [create, delete, get, list, patch, update, watch] # lines 134-148 - apiGroups: [rbac.authorization.k8s.io] resources: [rolebindings, clusterrolebindings, roles] verbs: [list, get, create, patch, delete] CWEs:

CWE-250: Execution with Unnecessary Privileges

CWE-269: Improper Privilege Management

Discovery Method:

Project Glasswing (Mythos) automated security audit, verified via live cluster testing on OCP 4.21.

Red Hat

Affected Software

1 affected component
odh-dashboard=odh-dashboard-f45cd6bb4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Edit manifests/core-bases/base/sa-rbac/cluster-role.yaml to eliminate the odh-dashboard ClusterRole rules that grant cluster-wide CRUD on secrets/configmaps/PVCs (lines 56-68) and cluster-wide RBAC management (rolebindings/clusterrolebindings/roles at lines 134-148). Replace with namespace-scoped Role(s) and RoleBinding(s) limited to the dashboard and user namespaces so the dashboard SA cannot create ClusterRoleBindings or delete/read secrets cluster-wide.

    Kubernetes RBAC (manifests/core-bases/base/sa-rbac/cluster-role.yaml: ClusterRole odh-dashboard) rules[].resources scope (switch cluster-wide ClusterRole to namespace-scoped Role/RoleBindings) = namespace-scoped Role + RoleBinding for dashboard/user namespaces only (remove cluster-wide CRUD on secrets/configmaps/PVCs and RBAC objects such as rolebindings/clusterrolebindings/roles)
  2. Compensating control

    Implement a NetworkPolicy to restrict odh-dashboard outbound traffic (egress NetworkPolicy as stated: “Implement egress NetworkPolicy to restrict dashboard outbound traffic”).

  3. Compensating control

    Monitor for unexpected ClusterRoleBinding creation using audit log alerting (“Monitor for unexpected ClusterRoleBinding creation (audit log alerting)”).

  4. Compensating control

    Restrict access to the opendatahub namespace so fewer principals can compromise the dashboard pod (“Restrict access to the opendatahub namespace (limit who can compromise the dashboard pod)”).

Event History

Aug 4, 2026
Data Sourced
via Red Hat·06:34 PM
DescriptionSeverityAffected Software
Aug 10, 2026
CVE Published
via MITRE·08:45 PM
Data Sourced
via MITRE·08:45 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·09:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What is the severity of CVE-2026-18949?

The severity of CVE-2026-18949 is rated as high with a score of 8.8.

2

How do I fix CVE-2026-18949?

To fix CVE-2026-18949, review and restrict the permissions granted to the Service Account used by the odh-dashboard.

3

What impact does CVE-2026-18949 have on my system?

CVE-2026-18949 allows an attacker to escalate privileges to cluster-administrator level if they compromise the dashboard's Service Account token.

4

Who is affected by CVE-2026-18949?

Users of the odh-dashboard who have not restricted permissions for Service Accounts are affected by CVE-2026-18949.

5

What are the potential exploits of CVE-2026-18949?

Exploiting CVE-2026-18949 can lead to unauthorized access to sensitive resources and cluster-wide CRUD operations.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203