CVE-2026-82976 in OpenShift Container Platforminformação

Sumário

de VulDB • 03/11/2026

Foi encontrada uma falha no controlador de personalização de imagem (image-customization-controller) utilizado na pilha de provisionamento de metal bruto do OpenShift. O controlador registra um servidor HTTP para arquivos na porta 8084 sem autenticação. A implementação personalizada do imageFileSystem expõe uma listagem navegável em HTML dos diretórios contendo todas as imagens registradas no caminho raiz. O único controle de acesso sobre as imagens por host é o nome do arquivo UUID aleatório; a listagem do diretório divulga esses UUIDs para qualquer solicitante na rede de provisionamento. Cada imagem servida incorpora uma configuração Ignition que contém o segredo de pull da cluster codificado em base64, a chave SSH opcional IRONIC_RAMDISK_SSH_KEY, configurações de proxy e arquivos-chave do NetworkManager por host. Um atacante com acesso adjacente à rede pode enumerar todos os UUIDs das imagens por meio da listagem de diretórios, baixar qualquer imagem, extrair a configuração Ignition embutida e recuperar o segredo de pull do cluster e a chave SSH.

### Evidência **pkg/imagehandler/imagefilesystem.go — o diretório raiz é navegável e enumera todos os nomes UUID das imagens** ```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 — servidor de arquivos vinculado a todas as interfaces sem autenticação ou TLS** ```go http.Handle("/", http.FileServer(imageServer.FileSystem()))

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

**pkg/ignition/service_config.go:94-100 — o segredo de pull está embutido em cada imagem servida** ```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"},
... ```

### Padrão de Ataque Cliente adjacente na rede de provisionamento → GET / lista os nomes UUID das imagens → download do ISO/initramfs → extrai a Ignition embutida → recupera o segredo de pull do cluster e a chave SSH.

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

Responsável

Redhat

Reservar

31/08/2026

Divulgação

03/11/2026

Moderação

aceite

Entrada

VDB-430522

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!