CVE-2026-82976 in OpenShift Container Platforminfo

Zusammenfassung

von VulDB • 03.11.2026

Es wurde ein Fehler im image-customization-controller gefunden, der in OpenShifts Bare-Metal-Bereitstellungs-Stack (Provisioning Stack) verwendet wird. Der Controller registriert einen HTTP-Dateiserver am Port 8084 ohne Authentifizierung. Die benutzerdefinierte ImageFileSystem-Implementierung bietet eine durchsuchbare HTML-Verzeichnisauflistung aller registrierten Images im Root-Pfad. Die einzige Zugriffskontrolle für host-spezifische Images ist der zufällige UUID-Dateiname; die Verzeichnisauflistung offenbart diese UUIDs jedem Aufrufer im Bereitstellungsnetzwerk. Jedes bereitgestellte Image enthält eine Ignition-Konfiguration, die das base64-codierte Cluster-Pull-Secret, optionalen IRONIC_RAMDISK_SSH_KEY, Proxy-Einstellungen und host-spezifische NetworkManager-Keyfiles beinhaltet. Ein Angreifer mit benachbartem Netzwerkzugang kann alle Image-UUIDs über die Verzeichnisauflistung auflisten, jedes beliebige Image herunterladen, die eingebettete Ignition-Konfiguration extrahieren und das Cluster-Pull-Secret sowie den SSH-Schlüssel wiederherstellen.

### Nachweis **pkg/imagehandler/imagefilesystem.go — Root-Verzeichnis ist durchsuchbar und listet alle UUID-Image-Namen auf** ```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 — Dateiserver gebunden an alle Schnittstellen ohne Auth oder TLS** ```go http.Handle("/", http.FileServer(imageServer.FileSystem()))

go func() {
server := &http.Server{
Addr: imagesBindAddr, // Standard ":8084" ReadHeaderTimeout: 5 * time.Second, } err := server.ListenAndServe() ```

**pkg/ignition/service_config.go:94-100 — Pull-Secret ist in jedem bereitgestellten Image eingebettet** ```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"},
... ```

### Angriffsmuster Benachbarter Bereitstellungsnetzwerk-Client → GET / listet UUID-Image-Namen auf → Download von ISO/initramfs → Extrahieren der eingebetteten Ignition-Konfiguration → Wiederherstellen des Cluster-Pull-Secrets und SSH-Schlüssels.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Redhat

Reservieren

31.08.2026

Veröffentlichung

03.11.2026

Moderieren

akzeptiert

Eintrag

VDB-430522

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you know our Splunk app?

Download it now for free!