Falha permite escalada de privilégio afeta a maioria das distribuições Linux. Um pesquisador de segurança indiano descobriu uma falha altamente crítica no pacote X.Org Server que afeta o OpenBSD e a maioria das distribuições Linux, incluindo Debian, Ubuntu, CentOS, Red Hat e Fedora.
O servidor Xorg X é uma implementação popular de código aberto do sistema X11 (servidor de exibição) que oferece um ambiente gráfico para uma variedade maior de plataformas de hardware e sistemas operacionais. Ele serve como intermediário entre aplicativos de clientes e usuários para gerenciar exibições gráficas.
De acordo com um post publicado pelo engenheiro de segurança de software Narendra Shinde, o servidor Xorg X não manipula e valida corretamente argumentos para pelo menos dois parâmetros de linha de comando, permitindo que um usuário com privilégios baixos execute código malicioso e sobrescreva qualquer arquivo – incluindo arquivos de propriedade de usuários privilegiados, como root.
A falha, rastreada como CVE-2018-14665, foi introduzida no pacote X.Org server 1.19.0 que permaneceu sem ser detectado por quase dois anos e poderia ter sido explorada por um invasor local no terminal ou via SSH para elevar seus privilégios em um sistema de destino.
Os dois parâmetros vulneráveis em questão são:
- -modulepath: para definir um caminho de diretório para procurar por módulos do servidor Xorg,
- -logfile: para definir um novo arquivo de log para o servidor Xorg, em vez de usar o arquivo de log padrão localizado em /var/log/Xorg.n.log na maioria das plataformas.
“Quando o servidor X está executando com privilégios elevados (ou seja, quando o Xorg é instalado com o setuid bit set e iniciado por um usuário não-root).” diz Xorg . “O argumento -modulepath pode ser usado para especificar um caminho inseguro para os módulos que serão carregados no servidor X, permitindo executar códigos não privilegiados no processo privilegiado.“
“Uma verificação de permissão incorreta para opções -modulepath e -logfile ao iniciar o servidor Xorg X permite que usuários sem privilégios com a capacidade de efetuar login no sistema via console físico escalem seus privilégios e executem código arbitrário sob privilégios de root.” dia a assessoria da Red Hat.
O pesquisador de segurança Matthew Hickey compartilhou um código de exploração como prova de conceito fácil no início de hoje no Twitter, dizendo “Um atacante pode literalmente assumir sistemas impactados com 3 comandos ou menos“.
A fundação X.Org lançou o X.Org Server versão 1.20.3 com patches de segurança para resolver o problema.
Distribuições populares como o OpenBSD, Debian, Ubuntu, CentOS, Red Hat e Fedora publicaram seus avisos para confirmar o problema e trabalhar nas atualizações do patch.
Background
O commit https://gitlab.freedesktop.org/xorg/xserver/commit/032b1d79b7 que apareceu pela primeira vez no xorg-server 1.19.0 introduziu uma regressão naas verificações de segurança realizadas para opções potencialmente perigosas, as vulnerabilidades listadas.
Sobrescrever / etc / shadow com -logfile também pode levar à elevação de privilégio desde que seja possível controlar alguma parte da escrita do arquivo de log , por exemplo, usando a opção -fp para definir o caminho de pesquisa da fonte (que está logado) e, assim, injetar uma linha que será considerada como válida por alguns sistemas.
Patches
Um patch para o problema foi adicionado ao repositório xserver em
25 de outubro de 2018.
https://gitlab.freedesktop.org/xorg/xserver/commit/50c0cf885a6e91c0ea71fb49fa8f1b7c86fe330e
Solução alternativa
Se uma versão corrigida do servidor X não estiver disponível, X.Org recomenda remover o bit setuid (por exemplo, chmod 755) do Binário Xorg. Observe que isso pode causar problemas se as pessoas estiverem iniciando
o sistema de janelas X usando os comandos ‘startx’, ‘xinit’ ou variações.
O X.org recomenda o uso de um gerenciador de exibição para iniciar sessões X, que não requer que o Xorg seja instalado setuid.
Deixe sua opinião!