Skip to main content

Red Hat OpenShift EUVDEUVD-2026-95030

| CVE-2026-93017 HIGH
Improper Privilege Management (CWE-269)
2026-10-08 redhat GHSA-97xr-6xrj-3f39
7.7
CVSS 3.1 · Vendor: redhat
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain namespace pod-create access
  2. Delivery
    Define pod with serviceAccountName gather
  3. Exploit
    Service account grants cluster-wide secret read
  4. Execution
    List secrets across all namespaces
  5. Impact
    Exfiltrate cluster-wide credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated foothold able to create or influence a pod specification in at least one namespace (RBAC permission to create pods, or control over a workload manifest) AND the ability to set 'serviceAccountName: gather' on that pod; the vulnerable insights-operator-gather ClusterRole is present by default in OpenShift Container Platform 4 installs. The limiting factor is the pod-create/service-account-binding privilege (reflected as PR:L) - an attacker with no cluster access cannot trigger this, so it functions as a privilege-escalation primitive rather than remote-unauthenticated compromise. There is no user-interaction requirement and no reliance on a non-default feature flag; the over-broad grant exists out of the box.

Impact

This is a privilege-escalation flaw (CWE-269) in the insights-operator shipped by default with Red Hat OpenShift Container Platform 4, where the insights-operator-gather ClusterRole grants the 'gather' service account cluster-wide get/list on core-group secrets with no namespace or resourceNames scoping. The CVSS 7.7 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N) is internally consistent with the description: PR:L reflects that an attacker must already hold some authenticated foothold able to schedule a pod, S:C reflects the scope break (reading secrets belonging to every other namespace/workload), and C:H/I:N/A:N correctly captures pure confidentiality impact with no integrity or availability loss. No EPSS score, CISA KEV listing, SSVC decision, or public POC was supplied in the input; per precision rules this is therefore 'no public exploit identified at time of analysis.' The realistic priority is driven less by raw CVSS than by the pre-condition: an attacker needs the ability to create a pod and bind it to the gather service account, so this is primarily a privilege-escalation lateral-movement amplifier for an actor who already has a namespace foothold rather than a remote-unauthenticated mass-exploitation bug. The AV:N label should be read in Kubernetes terms (the API server is network-reachable) and does NOT imply unauthenticated internet exposure - verify RBAC exposure against your own cluster's pod-creation permissions. One caveat: the input provides no EPSS/KEV/POC signals at all, so exploitation-likelihood scoring is inferred solely from the CVSS vector and description.

Exploit ScenarioDerived

An attacker who has obtained the ability to create or control pod specifications in any namespace of an affected OpenShift 4 cluster (e.g., a compromised CI pipeline, a tenant with namespace-level pod-create rights, or a low-privileged account after initial access) schedules a pod with 'serviceAccountName: gather'. Because the mounted gather service account inherits cluster-wide secret read access, the pod can then enumerate and read every secret in every namespace - including other tenants' credentials, TLS keys, and tokens. No public exploit code is referenced in the input, but the technique is trivially reproducible from the manifest shown.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 08, 2026

Red Hat OpenShift Container Platform 4 ships by default with an insights-operator-gather ClusterRole that grants the operator's 'gather' service account cluster-wide get/list access to core-group secrets, with no namespace or resourceNames scoping. An authenticated actor who can create or influence a pod specification in any namespace - and set 'serviceAccountName: gather' on it - can mount that service account and read every secret in every namespace, making this a privilege-escalation and cluster-wide credential-disclosure primitive (CWE-269, CVSS 7.7, scope-changed confidentiality-only). Exploitation requires a pre-existing foothold with pod-create or service-account-binding rights (PR:L), so it is not remotely exploitable by an unauthenticated user; no public exploit code has been identified at time of analysis, and the over-broad grant exists out of the box rather than behind a non-default feature flag.

RemediationAI

No vendor-released patch or fixed version is identified in the available intelligence at time of analysis, so remediation is currently mitigation-driven. The primary compensating control is to narrow the insights-operator-gather ClusterRole: replace the unrestricted secrets get/list rule with the minimum the operator actually requires - either drop secrets access entirely if gather telemetry does not need it, or constrain it with resourceNames or a namespace-scoped Role/RoleBinding limited to the specific secrets the operator must read; the trade-off is that the insights-operator may fail to collect the affected telemetry, degrading Red Hat Insights reporting. In parallel, reduce the attack surface by tightening RBAC so that only trusted principals can create pods or workloads in any namespace and can bind the gather service account - remove broad 'create pods' and serviceaccount/token permissions from tenant roles and restrict workload-creation to platform teams, understanding this may break legitimate self-service developer workflows. Where policy tooling is available (OpenShift SCCs, Kyverno, OPA Gatekeeper, ValidatingAdmissionPolicy), add an admission rule that rejects or flags pods specifying serviceAccountName: gather outside the insights-operator's own namespace, and audit the cluster for existing pods already mounting that account (kubectl get pods -A -o jsonpath with serviceAccountName == gather) to detect prior abuse. Also rotate any credentials that may have been exposed via secret reads. Track the Red Hat advisory at https://access.redhat.com/security/cve/CVE-2026-93017 and Bugzilla https://bugzilla.redhat.com/show_bug.cgi?id=2515741 for a vendor fix and apply it as soon as it is released.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OpenShift's insights-operator collects cluster telemetry for Red Hat Insights, and it does so under a dedicated 'gather' service account bound to the insights-operator-gather ClusterRole (defined in manifests/03-clusterrole.yaml). ClusterRoles are cluster-scoped RBAC objects, and the referenced rule grants 'get' and 'list' on resources 'secrets' in the core API group (apiGroups: "") without a namespace selector or a resourceNames allowlist - Kubernetes RBAC rules with neither restriction apply to every matching object in the entire cluster, so the grant resolves to read access on all Secrets across all namespaces, including kube-system, openshift-* and tenant namespaces. The root cause is CWE-269 (Improper Privilege Management): a workload that only needs a bounded slice of data is provisioned with a far broader permission set than required. The escalation path relies on standard Kubernetes pod semantics: a pod's serviceAccountName field determines which service-account token is projected into it, so any principal able to create a pod (directly, via a workload controller it controls, or by editing an existing manifest) in a namespace where the gather service account is usable can project those credentials and then trade them for cluster-wide secret reads via the API. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N reflects exactly this shape: network-reachable API, low-complexity, low-privilege prerequisite, no user interaction, scope change because the vulnerable component (the operator's role) grants access well outside its own security boundary, and high confidentiality impact with no integrity or availability effect.

Know when Red Hat Openshift Container Platform 4 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (redhat) PRIMARY 7.7 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
vuln.today AI 7.7 HIGH

Attacker needs low-privileged cluster access to schedule a pod (PR:L), acting over the Kubernetes API (AV:N); reading secrets across other namespaces breaks scope (S:C) for pure confidentiality impact (C:H, I/A:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
Red Hat 7.7 HIGH

Primary rating from Vendor (redhat).

CVSS VectorVendor: redhat

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

The insights-operator-gather ClusterRole grants the operator's service account read access to secrets in the core API group with no namespace or resourceNames restriction - therefore, access to every secret in every namespace in the cluster.

Ref: https://github.com/openshift/insights-operator/blob/8f15e3157ff09f54ab22801f5b21da35a195cc6d/manifests/03-clusterrole.yaml#L368-L373

- apiGroups:
  - ""
  resources:
  - secrets
  verbs:
  - get
  - list

By spawning a pod with the gather service account mounted, an attacker will be able to access any secret in any namespace.

spec:
 serviceAccountName:"gather"

Executive ViewAI

Why It Matters

Red Hat OpenShift Container Platform 4 ships out of the box with an over-permissive ClusterRole (insights-operator-gather) that lets a specific operator service account read secrets across every namespace in the cluster without any scoping. Any user or workload that already holds the ability to create a pod in any namespace could exploit this to harvest cluster-wide credentials, escalating from a limited foothold to broad access over sensitive data and service credentials. Leadership should care because this affects every default OpenShift 4 deployment, requires no unusual configuration to be present, and exposes the entire secret store of the cluster, making containment of any compromised account materially harder.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: remove or scope the cluster-wide secret get/list permission from the insights-operator-gather ClusterRole; use resourceNames or namespace-scoped RoleBindings instead of the default cluster-wide grant; deploy Kyverno or OPA Gatekeeper policy to deny pods that set 'serviceAccountName: gather'; restrict pod-create and service-account-binding rights to trusted identities; monitor audit logs for pod creations using the gather service account; and rotate secrets, service account tokens, and registry credentials that the gather account could access.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
High
widely deployed enterprise Kubernetes platform across many organizations
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Affected Products (CPE)CVE.org

cpe:2.3:a:red_hat:red_hat_openshift_container_platform_4:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_openshift_container_platform_4:*:*:*:*:*:*:*:*
CVE-2026-4480 CRITICAL POC
9.0 May 26

Remote code execution in Samba's printing subsystem allows remote attackers to inject arbitrary shell commands via craft

CVE-2026-92574 HIGH POC
8.8 Sep 21

Elevated-privilege container restoration in CRI-O 1.34 and later, including downstream Red Hat OpenShift Container Platf

CVE-2026-114406 MEDIUM POC
6.8 Oct 21

The system CA trust store shipped in Red Hat's ca-certificates RPM packages includes eMudhra root authorities that signe

CVE-2026-66792 CRITICAL
9.9 Aug 17

Privilege escalation in Red Hat Advanced Cluster Management's multicloud-operators-subscription controller lets a low-pr

CVE-2026-5121 HIGH
7.5 Mar 30

Remote code execution in libarchive on 32-bit systems allows unauthenticated attackers to execute arbitrary code via spe

CVE-2026-107935 CRITICAL
9.3 Oct 09

Unauthenticated path traversal in gvproxy, the network forwarder shipped in the gvisor-tap-vsock package (used by Podman

CVE-2026-33845 CRITICAL
9.1 Apr 30

Out-of-bounds read in the GnuTLS DTLS handshake reassembly logic lets remote unauthenticated attackers trigger an intege

CVE-2026-16526 HIGH
8.8 Jul 30

Local privilege escalation in Performance Co-Pilot (PCP) on Red Hat Enterprise Linux 6 through 10 and OpenShift Containe

CVE-2026-14474 HIGH
8.8 Jul 07

Local-to-domain-wide root privilege escalation in SSSD's LDAP sudo provider allows an authenticated LDAP directory user

CVE-2026-89091 HIGH
8.8 Oct 08

Symlink-following file overwrite on the Ansible control node is possible in ansible-core when a user runs `ansible-galax

CVE-2026-93834 HIGH
8.8 Sep 25

A use-after-free race condition in QEMU's 9pfs (virtfs) passthrough subsystem allows a malicious guest user to escape th

CVE-2026-104795 HIGH
8.8 Oct 14

Privilege escalation in Red Hat OpenShift Container Platform 4's insights-runtime-extractor DaemonSet lets an authentica

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy