Falhas no ShellTorch expõem servidores de IA a ataques de execução de código
4 de Outubro de 2023

Um conjunto de vulnerabilidades críticas apelidadas de 'ShellTorch' na ferramenta de serviço de modelo de IA de código aberto TorchServe afeta dezenas de milhares de servidores expostos na internet, alguns dos quais pertencem a grandes organizações.

O TorchServe, mantido pela Meta e pela Amazon, é uma ferramenta popular para servir e dimensionar modelos do PyTorch (framework de aprendizado de máquina) em produção.

A biblioteca é primariamente usada por aqueles envolvidos em treinamento e desenvolvimento de modelos de IA, desde pesquisadores acadêmicos até grandes empresas como Amazon, OpenAI, Tesla, Azure, Google e Intel.

As falhas no TorchServe descobertas pela equipe de pesquisa de segurança da Oligo podem levar ao acesso não autorizado ao servidor e execução remota de código (RCE) em instâncias vulneráveis.

As três vulnerabilidades são coletivamente nomeadas ShellTorch e impactam as versões TorchServe 0.3.0 a 0.8.1.

A primeira falha é uma má configuração da API da interface de gerenciamento não autenticada que faz com que o painel da web seja vinculado ao endereço IP 0.0.0.0 por padrão em vez de localhost, expondo-o a solicitações externas.

Como a interface carece de autenticação, permite acesso irrestrito para qualquer usuário, que pode ser usada para carregar modelos maliciosos de um endereço externo.

O segundo problema, rastreado como CVE-2023-43654 , é uma falsificação de solicitação do servidor remoto (SSRF) que, se explorada como parte de uma cadeia de bugs, pode levar à execução remota de código (RCE).

Embora a API do TorchServe tenha lógica para uma lista permitida de domínios para buscar arquivos de configuração de modelos de um URL remoto, foi descoberto que todos os domínios eram aceitos por padrão, levando a uma falha de falsificação de solicitação do servidor remoto (SSRF).

Isso permite que os atacantes carreguem modelos maliciosos que desencadeiam a execução de código arbitrário quando lançados no servidor alvo.

A terceira vulnerabilidade, rastreada como CVE-2022-1471 , é um problema de desserialização Java que leva à execução remota de código.

Devido à desserialização insegura na biblioteca SnakeYAML, os invasores podem carregar um modelo com um arquivo YAML malicioso para desencadear a execução remota de codigo.

Deve-se notar que a Oligo não descobriu a vulnerabilidade SnakeYAML, mas a usou como parte de sua cadeia de exploração.

Os pesquisadores alertam que se um atacante encadear as falhas acima, eles poderiam facilmente comprometer um sistema executando versões vulneráveis do TorchServe.

Uma demonstração da cadeia de ataque ShellTorch pode ser vista abaixo.

Oligo diz que seus analistas vasculharam a web em busca de implementações vulneráveis e encontraram dezenas de milhares de endereços IP atualmente expostos a ataques ShellTorch, alguns pertencentes a grandes organizações com alcance global.

"Uma vez que um invasor consegue invadir a rede de uma organização executando código em seu servidor PyTorch, eles podem usá-lo como um primeiro ponto de apoio para se mover lateralmente para a infraestrutura a fim de lançar ataques ainda mais impactantes, especialmente em casos onde restrições adequadas ou controles padrão não estão presentes", explica Oligo.

Para corrigir essas vulnerabilidades, os usuários devem atualizar para o TorchServe 0.8.2, lançado em 28 de agosto de 2023.

Esta atualização exibe um aviso sobre o problema SSRF para o usuário, abordando efetivamente o risco do CVE-2023-43654 .

Em seguida, configure corretamente o console de gerenciamento definindo o endereço_de_gerenciamento como http://127.0.0.1:8081 no arquivo config.properties.

Isso fará com que o TorchServe se vincule ao localhost em vez de todos os endereços IP configurados no servidor.

Finalmente, certifique-se de que seu servidor busca modelos apenas de domínios confiáveis atualizando as URLs permitidas no arquivo config.properties de acordo.

A Amazon também publicou um boletim de segurança sobre o CVE-2023-43654 , fornecendo orientação de mitigação para clientes que usam Deep Learning Containers (DLC) em EC2, EKS ou ECS.

Por fim, Oligo lançou uma ferramenta de verificação gratuita que os administradores podem usar para verificar se suas instâncias são vulneráveis a ataques ShellTorch.

Atualização 10/3 - Um porta-voz da Meta enviou ao BleepingComputer o seguinte comentário sobre as falhas descobertas pela Oligo:

Atualização 10/4 - Artigo atualizado para melhor refletir o escopo do problema e a eficácia das correções disponíveis.

Publicidade

Curso gratuito de Python

O curso Python Básico da Solyd oferece uma rápida aproximação à linguagem Python com diversos projetos práticos. Indo do zero absoluto até a construção de suas primeiras ferramentas. Tenha também suporte e certificado gratuitos. Saiba mais...