Atualização de segurança Wayland para Rocky Linux 8 corrige CVE-2021-3782 com overflow de referência no libwayland-server. Procedimento de patch e verificação para ambientes gráficos.
O RLSA-2023:2786 é uma atualização de segurança de severidade moderate para o pacote Wayland no Rocky Linux 8.
A vulnerabilidade corrigida, CVE-2021-3782, afeta a biblioteca libwayland-server e consiste em um estouro de contagem de referência (reference-count overflow) no gerenciamento do pool de buffers compartilhados (wl_shm).
Em sistemas LP64 (arquiteturas 64-bit), a contagem de referência é armazenada em um int. Um cliente malicioso pode criar um grande número de objetos de buffer wl_shm ou forçar o servidor a criar referências externas em excesso, fazendo a contagem transbordar para um valor negativo.
O resultado prático é um use-after-free na estrutura de rastreamento wl_shm_pool, permitindo que o atacante:
- Manipule incrementos/decrementos do contador.
- Vaze 4 bytes da memória do servidor por tentativa, construindo um oráculo limitado.
Embora classificado como moderate, o impacto em servidores Wayland (como compositores GNOME/KDE em estações de trabalho ou terminais gráficos) não deve ser subestimado — especialmente em ambientes multi-usuário ou com acesso a aplicações containerizadas que compartilham o socket no Wayland.
Pré-requisitos
Antes de aplicar o patch, verifique:
⚠️ Atenção: Esta atualização afeta bibliotecas compartilhadas do Wayland. Qualquer aplicação gráfica em execução que utilize essas bibliotecas precisa ser reiniciada após o update — incluindo o compositor gráfico (GNOME Shell, KWin, etc.). Planeje o procedimento durante uma janela de manutenção ou fora do horário comercial.
Passo a Passo
1. Verificação do estado atual
Antes de qualquer alteração, documente o ambiente:
$ rpm -qa | grep wayland wayland-devel-1.21.0-1.el8.x86_64 wayland-1.21.0-1.el8.x86_64 libwayland-client-1.21.0-1.el8.x86_64 libwayland-server-1.21.0-1.el8.x86_64 libwayland-cursor-1.21.0-1.el8.x86_64
$ uname -a Linux rocky8-lab 4.18.0-477.10.1.el8_8.x86_64 #1 SMP ... x86_64 GNU/Linux
Por que isso importa? Saber a versão exata permite confirmar se o patch foi aplicado corretamente e facilita um possível rollback.
2. Aplicação da atualização
O pacote corrigido é a versão 1.21.0-1.el8 (ou superior). Execute:
$ sudo dnf update wayland
Saída esperada (trecho):
Rocky Linux 8 - BaseOS 1.2 MB/s | 2.3 MB 00:01 Rocky Linux 8 - AppStream 1.5 MB/s | 4.1 MB 00:02 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: wayland x86_64 1.21.0-1.el8 baseos 123 k libwayland-client x86_64 1.21.0-1.el8 baseos 45 k libwayland-server x86_64 1.21.0-1.el8 baseos 52 k libwayland-cursor x86_64 1.21.0-1.el8 baseos 38 k Transaction Summary ================================================================================ Upgrade 4 Packages Total download size: 258 k Is this ok [y/N]: y
Se o sistema já estiver atualizado, o dnf informará:
Nothing to do. Complete!
Por que dnf update e não dnf upgrade? Ambos funcionam; update é sinônimo de upgrade no DNF moderno. O importante é que o DNF resolva as dependências e atualize todos os subpacotes (libwayland-client, libwayland-server, libwayland-cursor) em conjunto, evitando inconsistências de versão.
3. Verificação pós-atualização
Confirme que os pacotes foram atualizados:
$ rpm -q wayland libwayland-client libwayland-server libwayland-cursor wayland-1.21.0-1.el8.x86_64 libwayland-client-1.21.0-1.el8.x86_64 libwayland-server-1.21.0-1.el8.x86_64 libwayland-cursor-1.21.0-1.el8.x86_64
Verifique a integridade dos binários com rpm -V:
$ sudo rpm -V wayland libwayland-client libwayland-server libwayland-cursor
Saída: (nenhuma saída = tudo OK; qualquer linha indica alteração não esperada no sistema de arquivos)
4. Reinicialização dos serviços dependentes
Aqui está o ponto crítico: as bibliotecas Wayland estão carregadas em memória por qualquer processo que as utilize. A simples atualização dos arquivos no disco não substitui as versões em execução.
Opção A — Reinicialização completa do sistema (recomendado para ambientes gráficos):
$ sudo shutdown -r now
Opção B — Reinicialização seletiva do compositor (para ambientes headless ou com mínima interrupção):
# Para GNOME (GDM) $ sudo systemctl restart gdm # Para KDE (SDDM) $ sudo systemctl restart sddm # Para Wayland sem display manager (ex: Sway, Weston) $ sudo pkill -HUP weston # ou o processo do compositor
Por que isso é necessário? O kernel Linux carrega bibliotecas compartilhadas no momento do exec() de cada processo. Processos já em execução mantêm os inodes antigos, mesmo que o arquivo em disco seja substituído. Apenas novos processos (ou processos reiniciados) carregarão a versão corrigida.
5. Validação funcional
Após a reinicialização, verifique se o ambiente gráfico opera normalmente:
$ echo $XDG_SESSION_TYPE wayland
$ sudo journalctl -u gdm --since "5 minutes ago" | grep -i error
Teste aplicações gráficas críticas:
$ glxinfo | grep "OpenGL version" $ weston-info | head -20
📘 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.
Troubleshooting
Problema: Sistema não inicializa graficamente após o update.
Cenário: Após reiniciar, o GDM/SDDM não inicia ou a tela fica preta.
Causa possível: Conflito entre o novo Wayland e drivers. gráficos proprietários (NVIDIA, AMDGPU-PRO) ou módulos do kernel compilados contra a versão anterior.
Solução:
1. Acesse o sistema via runlevel 3 (modo texto):
$ sudo journalctl -b -u gdm -n 100 $ sudo cat /var/log/Xorg.0.log | grep -i error
3. Se o problema for com o driver NVIDIA, reinstale o driver compatível com o novo kernel:
$ sudo dnf reinstall akmod-nvidia xorg-x11-drv-nvidia $ sudo systemctl restart gdm
4. Em último caso, faça rollback para a versão anterior:
$ sudo dnf downgrade wayland libwayland-client libwayland-server libwayland-cursor
Armadilha Comum
$ pidof gnome-shell # ou o processo do seu compositor 1234 $ ls -l /proc/1234/maps | grep wayland 7f8a2c000000-7f8a2c020000 r-xp ... /usr/lib64/libwayland-server.so.0.21.0 (deleted)
Conclusão
O RLSA-2023:2786 corrige uma vulnerabilidade de estouro de contagem de referência no libwayland-server que pode levar a use-after-free e vazamento de memória.
O procedimento de atualização é direto via dnf update wayland, mas o sucesso da correção depende de um passo frequentemente negligenciado: a reinicialização de todos os processos que utilizam as bibliotecas — especialmente o compositor gráfico.
- Para ambientes de estação de trabalho com Rocky Linux 8, recomenda-se:
- Aplicar o patch durante janela de manutenção
- Reiniciar o sistema completamente após o update
- Validar com rpm -V e testes funcionais
Documentar a versão anterior para possível rollback
A vulnerabilidade é moderada, mas em ambientes multi-usuário ou com exposição a containers gráficos, o risco de exploração justifica a priorização desta atualização.

Nenhum comentário:
Postar um comentário