Overview
A flaw was found in golang.org/x/crypto/ssh/agent. The NewKeyring() function, which creates an in-memory keyring, failed to enforce the ConfirmBeforeUse constraint on keys. This allowed keys configured to require user confirmation before use to perform signing operations without any prompt or indication to the user. Consequently, an attacker could potentially bypass intended security controls, leading to unauthorized cryptographic signing actions.
Vendor advisories
- RHSA-2026:66022 · Red Hat · fixed in: OpenShift API for Data Protection 1.5 · released 2026-09-09 · advisory
- RHSA-2026:43692 · Red Hat · fixed in: OpenShift API for Data Protection 1.6 · released 2026-07-22 · advisory
- RHSA-2026:36648 · Red Hat · fixed in: Red Hat OpenShift Builds 1.7.3 · released 2026-07-08 · advisory
- RHSA-2026:41036 · Red Hat · fixed in: Red Hat OpenShift Builds 1.8.1 · released 2026-07-16 · advisory
- RHSA-2026:37387 · Red Hat · fixed in: Red Hat Openshift Data Foundation 4.22 · released 2026-07-09 · advisory
- RHSA-2026:36797 · Red Hat · fixed in: Red Hat Trusted Artifact Signer 1.4 · released 2026-07-08 · advisory
- RHSA-2026:37271 · Red Hat · fixed in: Red Hat Trusted Artifact Signer 1.4 · released 2026-07-09 · advisory
- RHSA-2026:57194 · Red Hat · fixed in: multicluster engine for Kubernetes 2.11 · released 2026-08-19 · advisory
- Red Hat VEX · Moderate · affected: Assisted Installer for Red Hat OpenShift Container Platform 2, cert-manager Operator for Red Hat OpenShift, Confidential Compute Attestation, Cryostat 4, Custom Metric Autoscaler operator for Red Hat Openshift, Deployment Validation Operator, … · no fix planned: Red Hat Trusted Artifact Signer, Assisted Installer for Red Hat OpenShift Container Platform 2, cert-manager Operator for Red Hat OpenShift, Confidential Compute Attestation, … · updated 2026-09-10 · vex
golang.org/x/crypto/ssh/agent: golang.org/x/crypto/ssh/agent: Security bypass due to unenforced key confirmation — rated Moderate by Red Hat. Released 2026-05-22, updated 2026-09-10.
Affected:
- Assisted Installer for Red Hat OpenShift Container Platform 2
- cert-manager Operator for Red Hat OpenShift
- Confidential Compute Attestation
- Cryostat 4
- Custom Metric Autoscaler operator for Red Hat Openshift
- Deployment Validation Operator
- Exploit Intelligence
- External Secrets Operator for Red Hat OpenShift
- ExternalDNS Operator
- File Integrity Operator
- Gatekeeper 3
- Job Set 1
- Job Set Tech Preview
- Kernel Module Management Operator for Red Hat Openshift
- Kube Descheduler Operator
- Leader Worker Set
- Logging Subsystem for Red Hat OpenShift
- Logical Volume Manager Storage
- MCP Server for Red Hat OpenShift
- Migration Toolkit for Applications 8
- Migration Toolkit for Containers
- Migration Toolkit for Virtualization
- Multiarch Tuning Operator
- Multicluster Engine for Kubernetes
- Multicluster Global Hub
- Network Observability Operator
- Node HealthCheck Operator
- OpenShift API for Data Protection
- OpenShift Developer Tools and Services
- OpenShift Lightspeed
- OpenShift Pipelines
- OpenShift Run Once Duration Override Operator
- OpenShift Secondary Scheduler Operator
- OpenShift Serverless
- OpenShift Service Mesh 2
- OpenShift Service Mesh 3
- Pen Drive Powered by Red Hat Lightspeed
- Power monitoring for Red Hat OpenShift
- Red Hat 3scale API Management Platform 2
- Red Hat Advanced Cluster Management for Kubernetes 2
Fixed:
- OpenShift API for Data Protection 1.5
- OpenShift API for Data Protection 1.6
- Red Hat OpenShift Builds 1.7.3
- Red Hat OpenShift Builds 1.8.1
- Red Hat Openshift Data Foundation 4.22
- Red Hat Trusted Artifact Signer 1.4
- multicluster engine for Kubernetes 2.11
No fix planned:
- Red Hat Trusted Artifact Signer
- Assisted Installer for Red Hat OpenShift Container Platform 2
- cert-manager Operator for Red Hat OpenShift
- Confidential Compute Attestation
- Cryostat 4
- Custom Metric Autoscaler operator for Red Hat Openshift
- Deployment Validation Operator
- Exploit Intelligence
- External Secrets Operator for Red Hat OpenShift
- ExternalDNS Operator
- File Integrity Operator
- Gatekeeper 3
- Job Set 1
- Job Set Tech Preview
- Kernel Module Management Operator for Red Hat Openshift
- Kube Descheduler Operator
- Leader Worker Set
- Logging Subsystem for Red Hat OpenShift
- Logical Volume Manager Storage
- MCP Server for Red Hat OpenShift
- Migration Toolkit for Applications 8
- Migration Toolkit for Containers
- Migration Toolkit for Virtualization
- Multiarch Tuning Operator
- Multicluster Engine for Kubernetes
- Multicluster Global Hub
- Network Observability Operator
- Node HealthCheck Operator
- OpenShift Developer Tools and Services
- OpenShift Lightspeed
- OpenShift Pipelines
- OpenShift Run Once Duration Override Operator
- OpenShift Secondary Scheduler Operator
- OpenShift Serverless
- OpenShift Service Mesh 2
- OpenShift Service Mesh 3
- Pen Drive Powered by Red Hat Lightspeed
- Power monitoring for Red Hat OpenShift
- Red Hat 3scale API Management Platform 2
- Red Hat Advanced Cluster Management for Kubernetes 2
Not affected:
- OpenShift API for Data Protection 1.5
- OpenShift API for Data Protection 1.6
- Red Hat OpenShift Builds 1.7.3
- Red Hat OpenShift Builds 1.8.1
- Red Hat Openshift Data Foundation 4.22
- Red Hat Trusted Artifact Signer 1.4
- Compliance Operator
- multicluster engine for Kubernetes 2.11
- Multicluster Engine for Kubernetes
- OpenShift Lightspeed
Remediation
Before applying this update, make sure all previously released errata
relevant to your system have been applied. https://access.redhat.com/errata/RHSA-2026:66022
Before applying this update, make sure all previously released errata
relevant to your system have been applied. https://access.redhat.com/errata/RHSA-2026:43692
It is recommended that existing users of Red Hat OpenShift Builds 1.7.3 upgrade to 1.7.4 https://access.redhat.com/errata/RHSA-2026:36648
Workarounds / mitigations:
- Update affected Go applications to use golang.org/x/crypto version 0.52.0 or later, which rejects unsupported ConfirmBeforeUse keys instead of silently ignoring the constraint. As a workaround, do not add keys with ConfirmBeforeUse to the in-memory keyring from golang.org/x/crypto/ssh/agent, or use an SSH agent implementation that correctly enforces confirm-before-use.
Package advisory (CVE-2026-39833)
Affected packages:
golang.org/x/crypto/ssh/agent < 0.52.0
Patched in:
golang.org/x/crypto/ssh/agent 0.52.0
Source: https://github.com/advisories/GHSA-jppx-rxg9-jmrx