A distribuição Fedora Linux tenta corrigir problemas com o servidor X.Org que podem levar a ataques. O Fedora está tentando impedir que clientes X.Org/XWayland com diferenças de CPU endianess se conectem ao servidor X.Org. Essa combinação de endianess diferente entre o X.Org Server e os clientes é bastante rara hoje em dia, mas é outra “grande superfície de ataque” do X.Org Server que precisa ser abordada.
Uma proposta de alteração do Fedora 38 foi arquivada para proibir clientes X.Org Server trocados por byte. Há também uma alteração pendente para o servidor X.Org upstream que também desabilitaria os clientes trocados por byte.
Peter Hutterer, da Red Hat, explicou na proposta de mudança do F38:
“Implementações do servidor X (por exemplo, Xorg e Xwayland) permitem que clientes com um endianess diferente daquele do servidor se conectem. Mensagens de protocolo de e para esses clientes são trocadas por byte pelo servidor X. No entanto, o código no servidor X que não isso é praticamente não testado, fornecendo uma grande superfície de ataque para clientes mal-intencionados.
Basta olhar, por exemplo, este comunicado de segurança X.Org e contar as menções SProc para uma indicação de quão ruim isso é. Uma solução simples para remover essa superfície de ataque é proibir clientes com um endianess diferente. Esses clientes simplesmente falharão, de forma semelhante à falha na autenticação em um servidor X.O caso de uso para clientes com endianess diferente é muito específico.
Era comum na década de 1980, quando o X foi originalmente desenvolvido, mas neste ponto um número cada vez menor de usuários executa clientes e servidores X em máquinas diferentes, quanto mais em máquinas diferentes com endianess diferente. Eu ficaria surpreso se o Fedora tivesse algum usuário que exigisse esse recurso.”
Para o servidor X.Org upstream, há uma nova solicitação de mesclagem criada por Peter para não permitir clientes com troca de byte por padrão. Para o Fedora e com a alteração upstream proposta, o comportamento atual de permitir clientes trocados por byte pode ser restaurado por meio do sinalizador de servidor “AllowSwappedClients” ou a opção “+byte-swapped-clients”.
Corrigir problemas com o servidor X.Org no Fedora Linux
Essa mudança de segurança foi proposta originalmente há um ano:
“O suporte swapped-endian no X é uma quantidade enorme de código raramente usado. Como é tão raramente usado e escrito à mão, é bem provável que tenha erros sérios que afetaram não foram descobertos. Alguns desses bugs podem muito bem ter implicações de segurança.”
Novamente, seria bastante raro alguém em um ambiente moderno ser afetado por essa mudança. No entanto, por sua vez, é outra melhoria de segurança para essa base de código massiva e antiga que viu um número crescente de avisos de segurança emitidos na última década.
Se você se conectar de um sistema x86_64 a um servidor IBM s390x ou PPC64 para uso remoto X11 de aplicativos gráficos, além de usar as opções propostas para permitir clientes trocados por byte, sempre há a outra opção de usar soluções alternativas como VNC.