O pacote container-networking-plugins fornece a implementação de referência dos plugins CNI (Container Network Interface), sendo componente essencial para o funcionamento da rede em containers gerenciados por Podman, CRI-O e Kubernetes.
A falha em aplicar esta atualização pode expor seus clusters a ataques de negação de serviço (DoS) e potenciais violações de integridade de rede.
A versão corrigida é 1.9.0-3.el9_8, disponível para as arquiteturas x86_64 e aarch64.
Pré-requisitos
Antes de iniciar o procedimento, verifique os seguintes itens:
1. Acesso root ou sudo com privilégios elevados.
2. Repositório ULN (Unbreakable Linux Network) configurado e com acesso ativo.
3. Oracle Linux 9 em execução (versão 9.0 ou superior). Verifique com:
$ cat /etc/oracle-release Oracle Linux Server release 9.4
4. Backup dos manifests dos containers em produção. Embora a atualização não remova configurações, é prudente documentar a topologia de rede atual:
$ podman network ls > /tmp/network_backup_$(date +%Y%m%d).txt
5. Janela de manutenção — a atualização pode exigir reinicialização dos serviços de container ou dos próprios nós, dependendo do ambiente.
Passo a Passo
1. Identificação da Versão Atual
Antes de qualquer alteração, documente a versão instalada:
$ rpm -q containernetworking-plugins containernetworking-plugins-1.4.0-4.el9_4.x86_64
Caso a saída indique uma versão anterior a 1.9.0-3.el9_8, o sistema está vulnerável.
2. Verificação de Vulnerabilidades (Opcional)
Para ambientes com ferramentas de scanning, você pode verificar a presença das CVEs:
$ dnf updateinfo list --cve CVE-2026-25679 --cve CVE-2026-32280 --cve CVE-2026-32281 --cve CVE-2026-32283
A saída deve listar o aviso ELSA-2026-29703 se o sistema estiver desatualizado.
3. Atualização do Pacote
O comando para atualizar o pacote específico é:
$ sudo dnf update containernetworking-plugins
Saída esperada (trecho):
Last metadata expiration check: 2:12:34 ago on Thu 26 Jun 2026 08:15:22 AM BRT. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: containernetworking-plugins x86_64 1:1.9.0-3.el9_8 ol9_baseos_latest 18 M Transaction Summary ================================================================================ Upgrade 1 Package Total download size: 18 M Is this ok [y/N]: y
Por que dnf update e não dnf upgrade? update atualiza pacotes existentes sem alterar dependências principais, enquanto upgrade pode promover pacotes a versões mais recentes com mudanças de API. Em ambientes críticos, prefira update para manter o controle.
4. Verificação Pós-Atualização
Confirme que a nova versão foi instalada corretamente:
$ rpm -q containernetworking-plugins containernetworking-plugins-1.9.0-3.el9_8.x86_64
Verifique também a integridade dos binários:
$ rpm -V containernetworking-plugins
Se não houver saída, todos os arquivos estão íntegros. Qualquer saída indica alterações não esperadas.
5. Reinicialização dos Serviços Dependentes
A atualização dos plugins CNI não reinicia automaticamente os serviços que os utilizam. Você precisa recarregar manualmente:
Para o Podman:
$ sudo systemctl restart podman
Para o CRI-O (em clusters Kubernetes):
$ sudo systemctl restart crio
Para o kubelet (se gerenciado pelo sistema):
$ sudo systemctl restart kubeletAtenção: Em clusters Kubernetes, a reinicialização do kubelet deve ser feita de forma orquestrada (nó por nó) para evitar indisponibilidade do cluster.
6. Validação dos Plugins CNI
Teste se os plugins estão funcionando após a atualização:
$ /usr/libexec/cni/bridge --version CNI bridge plugin version 1.0.0
Liste todos os plugins disponíveis:
$ ls -la /usr/libexec/cni/ total 145680 -rwxr-xr-x. 1 root root 7845672 Jun 26 10:15 bridge -rwxr-xr-x. 1 root root 8923456 Jun 26 10:15 host-local -rwxr-xr-x. 1 root root 10234567 Jun 26 10:15 loopback -rwxr-xr-x. 1 root root 9234567 Jun 26 10:15 macvlan ...
7. Teste de Conectividade em Container
Crie um container de teste para validar a rede:
$ podman run --rm --net=bridge alpine ping -c 4 8.8.8.8 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=117 time=12.345 ms 64 bytes from 8.8.8.8: seq=1 ttl=117 time=11.234 ms 64 bytes from 8.8.8.8: seq=2 ttl=117 time=13.456 ms 64 bytes from 8.8.8.8: seq=3 ttl=117 time=10.987 ms
📘 Indicação de Leitura
Esse livro é um guia prático e abrangente sobre a segurança do sistema operacional Linux como um todo. O livro ensina a pensar como um atacante para fortalecer a defesa do servidor, abordando tópicos fundamentais como:
- Ferramentas de rede: Nmap, Netcat, knockd.
- Monitoramento: de arquivos e sistemas de arquivos.
- Defesas: contra malware e ataques DDoS.
- Descoberta de vulnerabilidades: como invasores encontram pontos fracos.
Eu ganho uma comissão quando você faz uma compra.
Troubleshooting
Problema Comum: "Package containernetworking-plugins not found" ou versão antiga persistente
Sintoma:
$ sudo dnf update containernetworking-plugins No match for argument: containernetworking-plugins Error: No packages marked for upgrade.
Causa: O repositório ULN não está configurado corretamente ou o cache do DNF está desatualizado.
Solução:
1. Verifique os repositórios ativos:
$ dnf repolist
O repositório ol9_baseos_latest deve estar listado.
2. Atualize o cache do DNF:
$ sudo dnf clean all $ sudo dnf makecache
3. Tente novamente a atualização.
4. Se o problema persistir, verifique a assinatura do sistema no ULN:
$ sudo uln_register --show-status
Armadilha Comum para Iniciantes
Aplicar a atualização sem reiniciar os serviços de container.
Muitos administradores atualizam o pacote e consideram o trabalho concluído. No entanto, os plugins CNI são carregados em memória pelos serviços (Podman, CRI-O, kubelet) no momento da inicialização. A atualização substitui os binários em disco, mas os processos em execução continuam usando as versões antigas em memória.
Consequência: O sistema permanece vulnerável mesmo após a atualização, pois os plugins vulneráveis continuam ativos até que os serviços sejam reiniciados.
Solução correta: Sempre execute sudo systemctl restart podman (ou o serviço correspondente) imediatamente após a atualização. Em clusters, planeje um rollout gradual dos nós.
Conclusão
O aviso ELSA-2026-29703 aborda quatro vulnerabilidades de severidade Important no pacote container-networking-plugins do Oracle Linux 9.
A atualização para a versão 1.9.0-3.el9_8 é crítica para ambientes containerizados que utilizam Podman, CRI-O ou Kubernetes, pois as falhas podem levar a ataques de negação de serviço e comprometimento da integridade da rede.
Checklist resumido:
- Verifique a versão atual com rpm -q containernetworking-plugins.
- Atualize com sudo dnf update containernetworking-plugins.
- Confirme a nova versão.
- Reinicie os serviços dependentes (Podman, CRI-O, kubelet).
- Valide a conectividade dos containers.
Recomendação final: Incorpore esta verificação em seus procedimentos de patch mensais e considere a automação via Ansible ou scripts de saúde para garantir que todos os nós estejam na versão correta.
A segurança de redes containerizadas depende tanto da atualização dos pacotes quanto da reinicialização adequada dos serviços que os consumem.

Nenhum comentário:
Postar um comentário