CVE-2026-82976
7.1, highA flaw was found in the image-customization-controller used in OpenShift's bare metal provisioning stack
- CVSS
- 7.1, high high CVSS v3.1
- EPSS, next 30 days
- n/a
- Exploitation
- No public evidence
- Published
- 3 Nov 2026yesterday
Description
A flaw was found in the image-customization-controller used in OpenShift's bare metal provisioning stack. The controller registers an HTTP file server on port 8084 with no authentication. The custom imageFileSystem implementation exposes a browsable HTML directory listing of all registered images at the root path. The only access control on per-host images is the random UUID filename; the directory listing discloses those UUIDs to any caller on the provisioning network. Each served image embeds an Ignition config containing the base64-encoded cluster pull secret, optional IRONIC_RAMDISK_SSH_KEY, proxy settings, and per-host NetworkManager keyfiles. An adjacent network attacker can enumerate all image UUIDs via directory listing, download any image, extract the embedded Ignition config, and recover the cluster pull secret and SSH key. ### Evidence **pkg/imagehandler/imagefilesystem.go (root directory is browsable and enumerates all UUID image names** ```go func (f *imageFileSystem) Readdir(n int) ([]fs.FileInfo, error) { f.mu.Lock() defer f.mu.Unlock() result := []fs.FileInfo{} for _, im := range f.images { result = append(result, im) } return result, nil } func (f *imageFileSystem) Open(name string) (http.File, error) { f.log.Info("Open", "path", name) if name == "/" { return f, nil } ... ``` **cmd/controller/main.go) file server bound on all interfaces without auth or TLS** ```go http.Handle("/", http.FileServer(imageServer.FileSystem())) go func() { server := &http.Server{ Addr: imagesBindAddr, // default ":8084" ReadHeaderTimeout: 5 * time.Second, } err := server.ListenAndServe() ``` **pkg/ignition/service_config.go:94-100, pull secret is embedded in every served image** ```go func (b *ignitionBuilder) authFile() ignition_config_types_32.File { source := "data:;base64," + strings.TrimSpace(b.ironicAgentPullSecret) return ignition_config_types_32.File{ Node: ignition_config_types_32.Node{Path: "/etc/authfile.json"}, ... ``` ### Attack Pattern Adjacent provisioning-network client → GET / lists UUID image names → download ISO/initramfs → extract embedded Ignition → recover cluster pull secret and SSH key.
Details
- Vendor
- Red Hat
- Product
- Red Hat OpenShift Container Platform 4
- Weakness
- CWE-548 (opens in a new tab)
- Status
- Awaiting analysis
- Updated
- 3 Nov 2026
- Assigner
- secalert@redhat.com
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
References 4
The kind is read from NVD's tags where present and from the shape of the URL otherwise, so treat it as a hint.
Other Red Hat CVEs
Every Red Hat CVE we holdSame vendor in what we hold, not a known link between the flaws.
- CVE-2021-3560 Red Hat Polkit Incorrect Authorization Vulnerability KEV EPSS 24% 7.8, high
- CVE-2021-4034 Red Hat Polkit Out-of-Bounds Read and Write Vulnerability KEV EPSS 95% 7.8, high
- CVE-2018-14667 Red Hat JBoss RichFaces Framework Expression Language Injection Vulnerability KEV EPSS 74% 9.8, critical
- CVE-2017-12149 Red Hat JBoss Application Server Remote Code Execution Vulnerability KEV EPSS 91% 9.8, critical
- CVE-2015-5287 Red Hat Automatic Bug Reporting Tool Privilege Escalation Vulnerability KEV EPSS 5% 7.8, high
- CVE-2015-3246 Red Hat Libuser Race Condition Vulnerability KEV EPSS 9% 7.4, high
- CVE-2010-1871 Red Hat Linux JBoss Seam 2 Remote Code Execution Vulnerability KEV EPSS 83% 8.8, high
- CVE-2010-0738 Red Hat JBoss Authentication Bypass Vulnerability KEV EPSS 74% 5.3, medium
Beyond this page
Is CVE-2026-82976 in your network?
This page tells you how dangerous CVE-2026-82976 is out there. Whether it sits on one of your devices, only a scan of your own network can tell. That is what our systems do, every day, for the companies we protect.
-
EXYS7600 OCELOT
Find it before attackers do
Ocelot scans your network on a schedule and reports every vulnerability it finds by its CVE identifier, with its CVSS score and how many of your hosts are affected. A finding like CVE-2026-82976 comes with the devices to patch.
Learn more about EXYS7600 OCELOT -
EXYS7950 KONDRA
Detect it if it's exploited
Until the patch is applied, Kondra monitors your network, events and endpoints in real time. It keeps an inventory of the software installed on every endpoint, and its anomaly detection rules flag what an attacker does once inside.
Learn more about EXYS7950 KONDRA
Assembled from the NVD 2.0 API, the CISA Known Exploited Vulnerabilities Catalog and FIRST EPSS. Scores are as of our last collection on 4 Nov 2026, not the live upstream state.