Vulnerabilidade crítica encontrada no popular Slack

Uma vulnerabilidade crítica de execução remota de código que afetava versões anteriores do aplicativo Slack para desktop foi divulgada na sexta-feira, depois que o fabricante do software corrigiu seu aplicativo.

A disputa nos bastidores que levou ao patch gerou críticas sobre o tamanho da recompensa por bug para a vulnerabilidade e a implantação persistente de software de estrutura Electron inseguro.

Em janeiro, Oskars Vegeris, um engenheiro de segurança da Evolution Gaming, relatou em particular ao Slack uma vulnerabilidade de execução remota de código (RCE) afetando as versões 4.2 e 4.32 de seus aplicativos de desktop para Linux, macOS e Windows por meio do programa de recompensa de bug HackerOne.

A falha de injeção de código HTML pode ser explorada para executar código arbitrário em uma *.slack.compágina confiável e, por sua vez, executar comandos subjacentes e acessar os arquivos privados, senhas e outros dados da vítima.

Na prática, você pode explorá-lo, por exemplo, enviando um arquivo JavaScript criado com códigos maliciosos para um servidor que você controla. Em seguida, você redige um Slack Post que abusa da vulnerabilidade de injeção de HTML para incluir sua carga remota e compartilha esse post com um canal ou usuário do Slack. Quando eles visualizam a postagem, o arquivo é buscado e executado, permitindo a execução do código JavaScript. Vegeris foi recompensado com menos de US $ 2.000 por encontrar e relatar o buraco.

“Em 28 de janeiro, fomos alertados por meio de nosso programa de recompensa de bug sobre uma vulnerabilidade potencial dentro do recurso ‘Posts’ do Slack que poderia permitir a um invasor executar código no computador da vítima”, disse um porta-voz do Slack em um comunicado por e-mail. “Postagens são um recurso que permite criar, editar e compartilhar documentos totalmente formatados diretamente no Slack, e são diferentes de mensagens em canais ou mensagens diretas.”

De acordo com o criador do aplicativo de bate-papo, a correção inicial foi desenvolvida em 20 de fevereiro, lançada para os usuários, e nenhuma ação adicional é necessária por parte dos internautas. Com base no fato de que os clientes geralmente só concedem associação ao espaço de trabalho e direitos de autoria de postagem às pessoas em quem confiam, o Slack acredita que é improvável que alguém tenha sido afetado adversamente.

Em março, o Slack implementou uma correção para a parte RCE da vulnerabilidade na versão 4.4.0 de seu cliente de desktop. Por seu trabalho, Vegeris recebeu US $ 1.750, uma quantia irrisória que vários caçadores de bugs na comunidade de segurança disseram ser pequena demais para uma descoberta tão significativa.

Questionado sobre isso, o porta-voz do Slack disse: “Nosso programa de recompensa por bugs é fundamental para manter o Slack seguro. Valorizamos profundamente as contribuições das comunidades de segurança e de desenvolvedores e continuaremos a revisar nossa escala de pagamento para garantir que estamos reconhecendo seu trabalho e criando valor para nossos clientes. “

Segurança eletrônica questionada

Embora esta última rodada de bugs no Slack tenha sido corrigida, outros aplicativos baseados no Electron, como o Microsoft Teams, ainda podem estar vulneráveis ​​a ataques semelhantes.

Electron é uma estrutura de plataforma cruzada que permite aos desenvolvedores criar código de cliente de desktop usando HTML, JavaScript e CSS que é executado em Linux, macOS e Windows, sobre uma base de navegador baseada em Chromium vinculada ao Node.js. Conhecido por ser fácil de usar e difícil de proteger, é a base não só da versão desktop do Slack, mas também do Discord, Microsoft Teams, Microsoft Visual Studio Code e WordPress Desktop, entre muitos outros.

A revelação de Vegeris também gerou uma discussão na mídia social entre os membros da comunidade de segurança no fim de semana sobre as deficiências da segurança Electron.

“Minha reclamação fundamental com o Electron é que o uso relativamente básico ainda exige que os desenvolvedores não relacionados à segurança entendam todas as propriedades de segurança de seu sistema e o uso do broker de escopo de forma adequada”, disse Justin Schuh, diretor de engenharia do Google Chrome, via Twitter . “Isso não é razoável, visto que é uma das tarefas mais difíceis para os especialistas em segurança.”

Dois meses atrás, Slack publicou uma postagem de blog exaltando os benefícios do sandboxing no Electron e discutindo a adição de um novo módulo Electron chamado contextBridgeque fornece um objeto global para permitir a comunicação segura entre contextos isolados como o ambiente Node e o ambiente do navegador Chromium.

A postagem agradece a Vegeris e Matt Austin por seus relatórios de bug. Em um e-mail para o The Register , Austin, diretor de pesquisa de segurança da Contrast Security, disse que parece que o Slack não está aproveitando ao máximo a sandbox Electron mencionada em sua postagem.

Austin disse ao The Register que havia relatado anteriormente vários problemas de alta gravidade com o cliente de desktop Slack, cada um dos quais levou cerca de três meses para ser resolvido e cada um deles resultou em um pagamento de US $ 1.500.

Ele disse que a sensação era baixa, dado o tamanho do Slack – ele tem mais de 12 milhões de usuários ativos diariamente. Ele acrescentou que não se importa muito, embora tenha notado que era muito mais bem pago por relatar uma falha em um aplicativo do Facebook Electron.

Questionado sobre se os aplicativos Electron podem ser seguros, ele disse: “Não é que isso não possa ser feito. Pode. Mas por muito tempo, Electron teve um monte de padrões inseguros.”

Os desenvolvedores que criaram seus aplicativos usando padrões do Electron, disse ele, geralmente não querem refatorar seus aplicativos para torná-los seguros porque isso dá muito trabalho. “Você pode bloqueá-lo, mas nenhum aplicativo faz dessa forma”, disse ele.

Austin citou o Microsoft Teams como exemplo, dizendo que encontrou um problema semelhante no aplicativo Teams que relatou e ainda não foi corrigido. O problema é complicado, disse ele, mas se você faz parte de uma equipe e cria seu próprio espaço de trabalho e adiciona um usuário, há um bug que permite acionar um RCE em uma organização por meio de um convite.

Já se passou mais de um ano, disse ele, e não foi consertado. A Microsoft, disse ele, criou um sinalizador para desativar o recurso problemático, mas ainda não divulgou para seus clientes. E acrescentou que, embora a Microsoft tenha um programa de recompensa por bug para a versão web do Teams, o cliente de desktop está fora do escopo.

A Microsoft não respondeu imediatamente a um pedido de comentário.

Austin reiterou que os desenvolvedores que trabalham no Electron são responsáveis ​​por responder aos problemas. Sua principal preocupação são as configurações padrão inseguras do Electron. Alguns deles estão programados para obter mudanças significativas em versões futuras.

“Há outra questão interessante no Electron”, disse ele. “Por padrão, ele tem acesso à webcam e ao microfone. Se eu conseguir carregar minha própria página da web [no aplicativo Electron de alguém], posso ligar o microfone e a câmera.”

Fonte: https://www.theregister.com/2020/08/31/slack_app_electron_bug_squashed