Versões selecionadas do servidor Xorg X11 são vulneráveis ​​a exploits de escalonamento de privilégios, OpenBSD e CentOS afetados

Segurança / Versões selecionadas do servidor Xorg X11 são vulneráveis ​​a exploits de escalonamento de privilégios, OpenBSD e CentOS afetados 1 minuto lido

Projeto OpenBSD



Xorg é um sistema de janelas X muito famoso usado no Linux. É uma interface gráfica de usuário que usa o padrão X11, que por sua vez é um protocolo de comunicação. O Xorg foi derivado do projeto XFree86, que não está mais em desenvolvimento ativo.

Exploração de escalonamento de privilégios

Todas as versões do servidor Xorg X11 de 1.19.0 a 1.20.3 são vulneráveis ​​a falhas de verificação de permissão que existem para as opções -modulepath e -logfile. Isso dá aos usuários sem privilégios a capacidade de iniciar um servidor, de executar código arbitrário com privilégios elevados.



Os pesquisadores descobriram que rodar um script CRON com o exploit carregado faz o SELinux aplicá-lo. Um arquivo de backup crontab.old é criado, que é essencialmente substituído pelo módulo Metasploit por um novo arquivo com comandos e instruções para o cron daemon executar. A exploração com falha pode resultar em um crontab corrompido. O Xorg também precisa ter permissões SUID para que o exploit funcione, o que você pode verificar no trecho de código abaixo.



# verificação de linux
uname = cmd_exec “uname”
se uname = ~ / linux / i
vprint_status “Executando verificação adicional para Linux”
if datastore [‘ConsoleLock’] user = cmd_exec “id -un”
a menos que exista? “/ Var / run / console / # {usuário}”
vprint_error “Sem bloqueio de console para # {usuário}”
return CheckCode :: Safe
fim
vprint_good “Bloqueio de console para # {usuário}”
fim
se selinux_installed?
se selinux_enforcing?
vprint_error ‘Selinux is enforcing’
return CheckCode :: Safe
fim
fim
vprint_good “Selinux não é um problema”
fim

# verificação de programa suid
xorg_path = cmd_exec “command -v Xorg”
a menos que xorg_path.include? (“Xorg”)
vprint_error “Não foi possível encontrar executável Xorg”
return CheckCode :: Safe
fim
vprint_good “Caminho Xorg encontrado em # {xorg_path}”
a menos que setuid? xorg_path
vprint_error “Xorg binary # {xorg_path} não é SUID”
return CheckCode :: Safe
fim
vprint_good “Xorg binário # {xorg_path} é SUID”

Metodologia de Teste

Esta exploração foi trabalhada por quatro pesquisadores -

  • Narendra Shinde - descoberta e exploração
  • Raptor-0xdea - exploit modificado para cron
  • Aaron Ringo - módulo Metasploit
  • Brendan Coles - módulo Metasploit

Isso foi testado no OpenBSD 6.3, 6.4 e CentOS 7 (1708). De acordo com as notas no Packetstorm, o CentOS com uma instalação padrão precisará da autenticação do console para as sessões do usuário.

Esta é uma vulnerabilidade séria dada a escala de uso do Xorg. Embora a exploração precise de algumas predefinições para funcionar, elas podem não estar presentes em um ambiente profissional.

Tag CentOS OpenBSD Xorg