Livrando o kernel Linux do código de mudança de comportamento para processos começando com X

Jason A. Donenfeld, autor de VPN WireGuard, chamou a atenção dos desenvolvedores para um hack sujo presente no código do kernel do Linux que altera o comportamento de processos cujo nome começa com o caractere "X". À primeira vista, correções como essa geralmente são aplicadas em rootkits para deixar uma brecha oculta na vinculação do processo, mas a análise mostrou que a alteração foi adicionada em 2019 para corrigir temporariamente uma violação de compatibilidade do espaço do usuário que surgiu, de acordo com o princípio de que mudanças no kernel não devem interromper a compatibilidade do aplicativo.

Surgiram problemas ao tentar usar o mecanismo de alteração do modo de vídeo atômico no driver DDX xf86-video-modesetting usado no servidor X.Org, o que causou vinculação a processos iniciados com o caractere “X” (presume-se que a solução alternativa foi aplicada para o " xorg"). Quase imediatamente, o problema no X.Org foi corrigido (o uso da API atômica foi desativado por padrão), mas a correção temporária foi esquecida de ser removida do kernel e uma tentativa de enviar um ioctl para alterar atomicamente o modo para todos os processos iniciados com o caractere "X" continuam a resultar em retornar um erro. if (atual->comm[0] == 'X' && req->valor == 1) { pr_info("espaço de usuário do modeset atômico quebrado detectado, desativando atômico\n"); retornar -EOPNOTSUPP; }

Fonte: opennet.ru

Adicionar um comentário