Páginas

domingo, 14 de junho de 2026

Xwayland no Fedora: Guia definitivo para identificar falhas, aplicar correção automática e blindar seu sistema ( com scripts e livro essencial )

 


Vulnerabilidades críticas no Xwayland foram corrigidas. Descubra se seu Fedora está vulnerável, aplique a correção com um script automático e implemente mitigações alternativas. Mantenha seu sistema seguro com este guia definitivo.


Xwayland no Fedora: Roteiro completo para identificar, corrigir e se proteger (vulnerabilidades ZDI-CAN-30136 a ZDI-CAN-30168)



No dia 2 de junho de 2026, a equipe X.Org divulgou uma série de vulnerabilidades que afetavam o Xwayland em versões anteriores à 24.1.12. 

As falhas, identificadas pela TrendAI Zero Day Initiative (ZDI-CAN-30136 até ZDI-CAN-30168), envolvem estouros de buffer baseados em pilha e use-after-free, podendo permitir que um atacante execute código arbitrário ou eleve privilégios no sistema.

A boa notícia: a correção já está disponível e, neste guia, você vai aprender na prática como verificar se está vulnerável, automatizar a atualização e ainda aplicar barreiras extras de proteção.


Como verificar se você está vulnerável (comandos reais para Fedora)



Antes de aplicar qualquer correção, confirme a versão do Xwayland instalada no seu sistema:

bash
# Listar a versão instalada do Xwayland
rpm -q xorg-x11-server-Xwayland

# Alternativa com DNF
dnf list installed xorg-x11-server-Xwayland

A versão vulnerável é qualquer uma anterior à 24.1.12。 No Fedora 43 e Fedora 44, os pacotes afetados são exatamente esses.


Para saber se você está realmente usando Xwayland (e não o Xorg puro), execute:

bash
# Método 1: verificar variável de ambiente
echo $WAYLAND_DISPLAY
# Se retornar algo como "wayland-0" ou "wayland-1", você está no Wayland

# Método 2: usar o utilitário xisxwayland (disponível nos repositórios)
sudo dnf install xisxwayland
xisxwayland
# Saída 0 = você está usando Xwayland


Script de automação para aplicar a correção (bash para Fedora)


Crie um arquivo chamado fix-xwayland.sh, cole o conteúdo abaixo e execute com bash fix-xwayland.sh. O script verifica a versão atual, baixa e aplica a atualização de forma segura:
bash
#!/bin/bash

# Script para verificar e corrigir vulnerabilidades no Xwayland (Fedora)
# Compatível com Fedora 43 e 44

set -e

echo "=== Verificando versão atual do Xwayland ==="
CURRENT_VERSION=$(rpm -q xorg-x11-server-Xwayland --qf "%{VERSION}")

if [[ "$CURRENT_VERSION" == "24.1.12" ]]; then
    echo "✓ Seu sistema já está atualizado (versão $CURRENT_VERSION). Nenhuma ação necessária."
    exit 0
else
    echo "⚠ Versão detectada: $CURRENT_VERSION (vulnerável)"
    echo "Iniciando atualização para a versão segura 24.1.12..."
fi

echo "=== Atualizando repositórios ==="
sudo dnf check-update

echo "=== Aplicando correção de segurança do Xwayland ==="
# Aplica a atualização específica pelo advisory (funciona para Fedora 43 e 44)
sudo dnf upgrade --advisory FEDORA-2026-557e726e74 || \
sudo dnf upgrade --advisory FEDORA-2026-f98eff99c4

echo "=== Verificando versão após atualização ==="
NEW_VERSION=$(rpm -q xorg-x11-server-Xwayland --qf "%{VERSION}")

if [[ "$NEW_VERSION" == "24.1.12" ]]; then
    echo "✓ Atualização concluída com sucesso! Versão atual: $NEW_VERSION"
    echo "Recomenda-se reiniciar a sessão gráfica para garantir que o novo Xwayland seja carregado."
else
    echo "✗ Falha na atualização. Verifique sua conexão com a internet e tente novamente."
    exit 1
fi

Para executar:
bash
chmod +x fix-xwayland.sh
./fix-xwayland.sh

📗  Recomendação de Leitura


Segurança em servidores Linux: Ataque e Defesa  (anúncio) -> https://amzn.to/4v9Uz3N

Se você prefere estudar em português e quer aprender a "pensar como um hacker" para se antecipar a invasões, essa é a pedida! O livro ensina a usar as ferramentas prediletas dos invasores (como Nmap e Netcat) a seu favor, blindando seus sistemas.

Eu ganho uma comissão quando você faz uma compra.




Mitigação alternativa caso não possa atualizar agora



Se você não pode reiniciar o sistema ou atualizar o pacote imediatamente, aplique uma destas medidas temporárias:


Opção 1 – Bloquear portas de rede do X11 com firewalld


O Xwayland herda o comportamento de rede do X11, escutando conexões nas portas 6000-6063.

bash
# Bloquear todas as portas da faixa 6000-6063
sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 port port="6000-6063" protocol="tcp" reject'
sudo firewall-cmd --reload

# Verificar se as regras foram aplicadas
sudo firewall-cmd --list-rich-rules

Opção 2 – Restringir conexões apenas a localhost com iptables


Caso utilize iptables em vez de firewalld:

bash
# Bloquear tráfego externo para as portas do X11
sudo iptables -A INPUT -p tcp --dport 6000:6063 -j DROP

# Permitir apenas conexões originadas da própria máquina (localhost)
sudo iptables -A INPUT -p tcp -s 127.0.0.1 --dport 6000:6063 -j ACCEPT

⚠️ Atenção: Essas regras não persistem após reinicialização. Para torná-las permanentes, instale o pacote iptables-persistent ou salve as regras manualmente.


Opção 3 – Aplicar perfil AppArmor para confinar o Xwayland

O AppArmor pode reduzir drasticamente o impacto de uma eventual exploração:

bash
# Instalar o conjunto de perfis apparmor.d (inclui perfil para xwayland)
sudo dnf install apparmor-profiles-extra
sudo aa-enforce /usr/bin/Xwayland
sudo systemctl restart apparmor

Projetos como o apparmor.d oferecem perfis prontos que confinam o Xwayland e outros processos críticos do sistema.


Conclusão


A correção para as vulnerabilidades do Xwayland já está disponível nos repositórios oficiais do Fedora 43 e 44. 

Execute o script fix-xwayland.sh, reinicie sua sessão gráfica e considere implementar as regras de firewall ou AppArmor como camadas extras de proteção. Manter-se atualizado é essencial, mas construir uma base sólida de segurança é o que realmente protege seu sistema no longo prazo.

Nenhum comentário:

Postar um comentário