Falha no Linux poderia ser explorada por usuários Sudo para obter privilégios Root

Pesquisadores de segurança da Qualys Security descobriram uma falha do Linux que poderia ser explorada para aumentar os privilégios e sobrescrever qualquer arquivo no sistema de arquivos.

Pesquisadores de segurança na Qualys Security descobriram uma falha do Linux que poderia ser explorada para obter privilégios root e sobrescrever qualquer arquivo no sistema de arquivos em sistemas habilitados para SELinux.

A falha de alta severidade, controlada como CVE-2017–1000367, reside no get_process_ttyname do sudo() para Linux e está relacionada com a forma como o sudo analisa as informações de TTY do arquivo de status do processo no sistema de arquivos proc.

A falha poderia ser explorada por um usuário local com privilégios para executar comandos via sudo, podendo assim permitir que atacantes pudessem escalar seus privilégios para root.

A função get_process_ttyname() do Sudo abre o “/proc/[pid]/stat” (man proc) e lê o número de dispositivo TTY no campo 7 (tty_nr). Esses campos são separados por espaço, o campo 2 (comm, o nome do arquivo do comando) pode conter espaços.

Usuários Sudoer em sistemas habilitados para SELinux podem escalar seus privilégios para sobrescrever qualquer arquivo no sistema de arquivos com a saída do seu comando, incluindo arquivos de propriedade root.

descobrimos uma vulnerabilidade get_process_ttyname () do Sudo para Linux: esta função abre “/[pid]/stat” (man proc) e lê o número de dispositivo do TTY do campo 7 (tty_nr). Infelizmente, esses campos são separados por espaço e o campo 2 (comm, o nome do arquivo do comando) podem conter espaços (CVE-2017–1000367)”. Conforme aviso de segurança.

“Em um sistema SELinux-Enabled, se um usuário for Sudoer para um comando que não lhe concede privilégios root completos, ele pode sobrescrever todo o arquivo no sistema de arquivos (incluindo arquivos de propriedade root) com a saída de seu comando,isso porque relabel_tty () (em src/SELinux. c) chamadas Open (O_RDWR | O_NONBLOCK em seu tty e dup2()s para o comando stdin, stdout, e stderr. Isso permite que qualquer usuário Sudoer obtenha privilégios root completos”.

Para explorar o problema, um usuário Sudo teria que escolher um número de dispositivo que não exista em “/dev”. Se o terminal não estiver presente sob o diretório “/dev/pts” quando o Sudo executar uma pesquisa breadth-first em /dev, o usuário pode alocar um pseudo-terminal entre os dois pesquisadores e criar um “link simbólico para o dispositivo recém-criado em um diretório world-writable na /dev, como /dev/shm”.

explorar o bug requer que o usuário já tenha privilégios Sudo. O SELinux também deve ser ativado no sistema e o sudo deve ter sido construído com suporte SELinux. Para explorar o bug, o usuário pode escolher um número de dispositivo que atualmente não existe em /dev. Se o sudo não encontrar o terminal dentro do diretório /dev/pts, ele executa uma pesquisa de breadth-first em /dev. É possível alocar um pseudo-terminal depois que o sudo verificar /dev/pts mas antes que o sudo realize sua busca de newly-created em /dev. O invasor pode então criar um link simbólico para o dispositivo recém-criado em um diretório world-writable em /dev, como /dev/shm”. Conforme alerta no sudo.ws.

“este arquivo será usado como entrada, saída e erro padrão do comando quando uma função SELinux for especificada na linha de comando do sudo. Se o link simbólico em /dev/shm for substituído por um link para um outro arquivo antes de ser aberto pelo sudo, é possível sobrescrever um arquivo arbitrário, escrevendo para a saída ou erro padrão. Isso pode ser escalonado para acesso root completo, reescrevendo um arquivo confiável, como /etc/shadow ou mesmo /etc/sudoers”.

A falha de Linus afeta todas as versões do sudo desde a v1.8.6p7 até v1.8.20, sendo corrigida na v1.8.20p1, o problema foi classificado com uma pontuação de 7.8 na Base CVSS3. Os usuários são recomendados para atualizar seus sistemas para a versão mais recente.

Red Hat essa semana patches para Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7 e Red Hat Enterprise Linux Server. O Debian também lançou correções para a ditros Wheezy, Jessie e Sid releases e a SUSE Linux lançou correções para vários dos seus produtos.

A Qualys Security informou que publicaria seu método de Sudoer-to-root uma vez que um número máximo de usuários já tiveram tempo para corrigir a falha em seus sistemas.