Geral 2min de Leitura - 29 de janeiro de 2021

Microsoft Azure Functions afetado pelo novo bug do Docker Container Escape

Logo Microsoft Azure

This post is also available in: Português

Na última quarta-feira, 27, Paul Litvak, pesquisador de segurança, divulgou uma vulnerabilidade não corrigida no Microsoft Azure Functions. Essa vulnerabilidade pode ser usada por um invasor para escalar privilégios e escapar do Docker Container usado para hospedá-los.

Essa descoberta é parte das investigações do Interezer Lab sobre a infraestrutura de computação do Azure.

A Microsoft, após a divulgação, determinou que a vulnerabilidade não tem impacto na segurança dos usuários do Function, uma vez que o próprio host ainda está protegido por outro limite de defesa contra a posição elevada que alcançam no host do Container.

O Azure Functions, análogo ao Amazon AWS Lambda, é uma solução sem servidor, que permite que os usuários executem código acionado por evento sem ter que provisionar ou gerenciar a infraestrutura explicitamente, ao mesmo tempo que possibilita dimensionar e alocar computação e recursos com base na demanda.

Incorporando o Docker à combinação, é possível que os desenvolvedores implantem e executem facilmente o Azure Functions na nuvem ou localmente.

Como a trigger é o evento utilizado para chamar uma função da Azure, os pesquisadores primeiro criaram uma trigger HTTP para ganhar uma posição sobre o Container Function, usando-o para encontrar sockets pertencentes a processos com privilégios “root”.

Assim, um desses processos, com privilégios, associados a um binário “mesh” foi identificado como contendo uma falha que poderia ser explorada para conceder ao usuário “app” que executa as permissões de root da função.

Embora o binário Mesh em si tenha pouca ou nenhuma documentação para explicar seu propósito, os pesquisadores do Intezer encontraram referências a ele em uma imagem pública do Docker, que eles usaram para fazer engenharia reversa e atingir escalonamento de privilégios.

Os privilégios estendidos atribuídos ao Container (usando a sinalização “—privileged”) foram corrompidos para passar pelo Docker Container e executar um comando arbitrário no host.

A Intezer também lançou um código de exploração de prova de conceito (PoC) no GitHub para sondar o ambiente de host do Docker.

Segundo os pesquisadores da Intezer Labs:

“Instâncias como esta sublinham que as vulnerabilidades às vezes estão fora do controle do usuário da nuvem. Os invasores podem encontrar uma maneira de entrar por meio de softwares vulneráveis de terceiros.

É fundamental que você tenha medidas de proteção em vigor para detectar e encerrar quando o invasor executa código não autorizado em seu ambiente de produção. Essa mentalidade Zero Trust é compartilhada até mesmo pela Microsoft.”

Via: Intezer.

This post is also available in: Português