CVE-2026-92615 PUBLISHED

Flightctl: flightctl: package-global go-git https transport mutated per-repo -- cross-tenant tls-config bleed

Assigner: redhat
Reserved: 16.09.2026 Published: 16.09.2026 Updated: 16.09.2026

A flaw was found in flightctl. The configureRepoHTTPSClient() function in the device-render worker builds a per-repository tls.Config (which may include InsecureSkipVerify, a custom CA bundle, or tenant-supplied mTLS client certificates) and installs it into go-git's process-global client.Protocols map via gitclient.InstallProtocol("https", ...). Because the worker renders devices for multiple organizations concurrently from a shared goroutine pool, whichever tenant's repository configuration is written last wins for all in-flight git.Clone calls. This race condition can cause one tenant's TLS settings, including InsecureSkipVerify or mTLS client credentials, to leak into another tenant's git operations.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:N
CVSS Score: 6.6

Product Status

Vendor Red Hat
Product Red Hat Advanced Cluster Management for Kubernetes 2
Versions Default: affected
Vendor Red Hat
Product Red Hat Edge Manager 1
Versions Default: affected

Workarounds

There is no application-level workaround that fully eliminates this race condition without a code change. The following deployment-level measures reduce exposure in multi-tenant environments: - Avoid mTLS client certificates for git repositories: If tenant Repository resources do not supply client TLS certificates (httpConfig.tls.clientCertificate), the most sensitive data (client private key material) is absent from the global transport and cannot leak. - Avoid skipServerVerification: Do not set httpConfig.skipServerVerification: true on any Repository resource. This prevents a tenant's InsecureSkipVerify=true from propagating to other tenants' clones, which would otherwise allow an on-path attacker to serve malicious configuration.

References

Problem Types

  • Improper Resource Locking CWE