ASA-2018-00094 – Keybase: Caminho de pesquisa não confiável permite escalação de privilégios


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00094

Identificador(es)

ASA-2018-00094, CVE-2018-18629

Título

Caminho de pesquisa não confiável permite escalação de privilégios

Fabricante(s)

Keybase

Produto(s)

Keybase

Versão(ões) afetada(s)

Keybase versões liberadas em ou após 1 de março de 2018 (commit 06b97bb3), e anterior a 2.8.0-20181023124437.

Versão(ões) corrigida(s)

Keybase 2.8.0-20181023124437 ou acima.

Prova de conceito

Sim

Descrição

O redirecionador do sistema de arquivos keybase controla o ponto de montagem /keybase em máquinas Linux (e máquinas macOS que ativaram a integração do Finder). Para suportar múltiplos usuários que executam o Keybase na mesma máquina, ambos podem acessar o sistema de arquivos keybase através de caminhos /keybase, este ponto de montagem atua como um redirecionador, usando FUSE para apresentar links simbólicos ao usuário, redirecionando-os para seu ponto de montagem pessoal do sistema de arquivos keybase (geralmente localizado em /run/user/UID/keybase/kbfs no Linux, embora varie de acordo com a distribuição do sistema operacional e a configuração local). O binário que cria esse ponto de montagem é chamado de keybase-redirector e o instalador do pacote keybase define seu bit suid para que ele possa ter permissões de root, necessárias para criar o ponto de montagem /keybase e montar um sistema de arquivos FUSE que possa ser acessado por vários usuários. É executável por qualquer usuário, já que os usuários executam o keybase com suas próprias contas.

O ataque foi possível devido a uma versão anterior do keybase-redirector que usava o binário fusermount para criar o ponto de montagem /keybase. Ele fez isso indiretamente por meio de uma chamada para a função mount() na biblioteca Go bazil.org/fuse, depois de obter privilégios de root. Essa função usou a função exec.Command do Go para executar uma chamada para o fusermount. No entanto, ele não especificou um caminho absoluto ou limpou as variáveis de ambiente ao fazer isso. Por causa disso, um software mal-intencionado em execução no computador do usuário pode tornar qualquer executável chamado fusermount, definir sua variável de ambiente $PATH para incluir o diretório que contém esse executável e chamar keybase-redirector, enganando-o para executar esse executável com permissões de root.

Detalhes técnicos

Desconhecido

Créditos

Rich Mirch (mirchr)

Referência(s)

CVE-2018-18629: Keybase Linux privilege escalation
https://blog.mirch.io/2018/12/21/cve-2018-18629-keybase-linux-privilege-escalation/

Local Privilege Escalation on Linux via keybase-redirector (KB002)
https://keybase.io/docs/secadv/kb002

PoC for CVE-2018-18629 Keybase Linux Privilege Escalation
https://raw.githubusercontent.com/mirchr/security-research/master/vulnerabilities/CVE-2018-18629.sh

Linux privilege escalation via trusted $PATH in keybase-redirector
https://hackerone.com/reports/426944

CVE-2018-18629
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18629

CVE-2018-18629
https://nvd.nist.gov/vuln/detail/CVE-2018-18629

Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.

Última modificação: 1 fevereiro 2019

Não somos responsáveis por qualquer perda de dados, corrupção de dispositivos ou qualquer outro tipo de problema devido ao uso de qualquer informação mencionada em nossos alertas de segurança.