cve.bz

CVE-2026-19706 Openshift/installer: openshift installer: unconditional csr approval during agent-based installation (abi) bootstrap

8.3 highEPSS 0.1%

High (8.3) in red hat. EPSS 0.1% estimated probability of exploitation activity in the next 30 days.

On this page
During ABI bootstrap, the bootstrap node's approve-csr.service approves and signs every CSR without identity validation. An attacker on the install network can retrieve the unauthenticated Ignition file (ports 22623/22624), extract a limited kubeconfig, submit a CSR for CN=system:admin, receive the signed certificate, and gain full cluster-admin access. Exploitable only during the narrow bootstrap window.

Severity

CVSS 3.1

8.3 high
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
EPSS
0.1% estimated probability of exploitation activity in the next 30 days; 3rd percentile. Scored 2026-11-13. A forecast for this CVE across the internet, not for your own systems.
CISA's assessment (SSVC)
Exploitation: none · Automatable: no · Technical impact: total, assessed 2026-11-09. From CISA's Vulnrichment in the CVE List: whether it is exploited, whether exploiting it can be automated, and how much control it gives.
CWE
CWE-306 Missing Authentication for Critical Functionality
OWASP Top 10
A07:2025 Authentication Failures
Published
Modified
Assigned by
redhat (CNA)
NVD analysis
Awaiting analysis
Record from
the NVD, synced

Ask an AI about this CVE

Show the promptExplain CVE-2026-19706 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-19706?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-19706?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-19706 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.

Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.

Badge for a README or a site

CVE-2026-19706

An image that stays current: it is drawn from the data each time it is fetched (a host that proxies images, as GitHub does, may show its copy for a while). Markdown:

[![CVE-2026-19706](https://cve.bz/cve/badge/CVE-2026-19706.svg)](https://cve.bz/cve/CVE-2026-19706)

HTML:

<a href="https://cve.bz/cve/CVE-2026-19706"><img src="https://cve.bz/cve/badge/CVE-2026-19706.svg" alt="CVE-2026-19706"></a>

Affected

  • red hat:assisted installer for red hat openshift container platform 2
  • red hat:multicluster engine for kubernetes
  • red hat:red hat openshift container platform 4
  • red hat:red hat openshift container platform 5

Red Hat

Red Hat rates this Important.

Red Hat's statement

During an OpenShift Agent-Based Installation (ABI), an attacker with network access to the bootstrap node's Kubernetes API can gain cluster-admin privileges.

This flaw arises from the `approve-csr.service` unconditionally approving CertificateSigningRequests, allowing an attacker to submit a crafted request for `system:admin` identity. Exploitation is limited to the brief ABI bootstrap window and requires network adjacency to the API server.

ProductPackageStateAdvisory
Assisted Installer for Red Hat OpenShift Container Platform 2assisted/agent-preinstall-image-builder-rhel9Not affected
Assisted Installer for Red Hat OpenShift Container Platform 2rhai/assisted-installer-agent-rhel9Affected
Assisted Installer for Red Hat OpenShift Container Platform 2rhai/assisted-installer-controller-rhel9Affected
Multicluster Engine for Kubernetesmulticluster-engine/assisted-installer-agent-rhel8Affected
Multicluster Engine for Kubernetesmulticluster-engine/assisted-installer-agent-rhel9Affected
Multicluster Engine for Kubernetesmulticluster-engine/assisted-installer-controller-rhel8Affected
Multicluster Engine for Kubernetesmulticluster-engine/assisted-installer-controller-rhel9Affected
Red Hat OpenShift Container Platform 4openshift4/ose-agent-installer-csr-approver-rhel8Affected
Red Hat OpenShift Container Platform 4openshift4/ose-agent-installer-csr-approver-rhel9Affected
Red Hat OpenShift Container Platform 4openshift4/ose-agent-installer-orchestrator-rhel8Not affected
Red Hat OpenShift Container Platform 4openshift4/ose-agent-installer-orchestrator-rhel9Not affected
Red Hat OpenShift Container Platform 4openshift4/ose-baremetal-installer-rhel8Under investigation
Red Hat OpenShift Container Platform 4openshift4/ose-baremetal-installer-rhel9Under investigation
Red Hat OpenShift Container Platform 4openshift4/ose-installerUnder investigation
Red Hat OpenShift Container Platform 4openshift4/ose-installer-altinfra-rhel8Under investigation
Red Hat OpenShift Container Platform 4openshift4/ose-installer-altinfra-rhel9Under investigation
Red Hat OpenShift Container Platform 4openshift4/ose-installer-artifactsUnder investigation
Red Hat OpenShift Container Platform 4openshift4/ose-installer-artifacts-rhel9Under investigation
Red Hat OpenShift Container Platform 4openshift4/ose-installer-rhel9Under investigation
Red Hat OpenShift Container Platform 5openshift5/ose-agent-installer-csr-approver-rhel9Affected
4 more in the JSON and on Red Hat's page.

Contains Red Hat Security Data © Red Hat, Inc., licensed under CC BY 4.0. Source: https://access.redhat.com/security/data. Modified: reformatted. Red Hat's page for CVE-2026-19706.

Attack patterns (CAPEC)

  • CAPEC-12 Choosing Message Identifier Likelihood: High · Severity: High
  • CAPEC-36 Using Unpublished Interfaces or Functionality Likelihood: Medium · Severity: High
  • CAPEC-62 Cross Site Request Forgery Likelihood: High · Severity: Very High
  • CAPEC-166 Force the System to Reset Values Severity: Medium
  • CAPEC-216 Communication Channel Manipulation

The attack patterns MITRE's CAPEC relates to this record's weaknesses, as MITRE names them. Credits.

References

Check your stackJSON