Vulnerabilidade Crítica no Docker

A Docker está alertando os usuários para atualizarem o Docker Engine em modo de correção, após descobrir uma vulnerabilidade de gravidade quase máxima que permaneceu ativa por cinco anos.

Agora rastreada como CVE-2024-41110, o bug de escalonamento de privilégios foi originalmente descoberto em 2018 e corrigido na versão 18.09.1 de janeiro de 2019. No entanto, a correção não foi mantida nas atualizações seguintes, o que significa que as versões a partir da 19.03 continuaram vulneráveis.

A vulnerabilidade está no uso de plugins de autorização (AuthZ) pelo Docker para um maior controle de acesso. Esses plugins são usados para aprovar e negar solicitações, e fazem isso com base nas informações fornecidas no corpo da solicitação, que são avaliadas para tomar decisões de validação.

Os invasores poderiam explorar a vulnerabilidade enviando uma solicitação de API especialmente criada com o comprimento do corpo (Content-Length) definido como 0. Sem um corpo, o plugin AuthZ não recebe informações para serem usadas na solicitação de autorização.

Ao enviar uma solicitação sem corpo, um invasor pode forçar o cliente da API do Docker Engine a encaminhar essa solicitação para um plugin de autorização, que pode, por engano, aprovar uma solicitação que teria sido negada se o conteúdo do corpo tivesse sido encaminhado.

Isso pode levar à execução de comandos não intencionais, resultando em consequências como a escalada de privilégios por parte de atacantes.

A Docker afirma que a probabilidade de esse ataque ser explorado é baixa, mas a avaliação do CVSS da vulnerabilidade indica que é um ataque de baixa complexidade que requer privilégios de baixo nível e nenhuma interação do usuário.

O impacto potencial na confidencialidade, integridade e disponibilidade é considerado “alto”, o que contribuiu para uma pontuação de severidade geral de 9,9, de acordo com o Banco de Dados Nacional de Vulnerabilidades. Um aviso separado do projeto de código aberto Moby avaliou essa vulnerabilidade com uma pontuação perfeita de 10.

A Docker recomenda que os usuários atualizem para as versões seguras: > v23.0.14 e > v27.1.0.

Se você estiver executando uma versão afetada, mas não depende de plugins de autorização, você não está vulnerável ao CVE-2024-41110, e o mesmo vale para os usuários do Mirantis Container Runtime.

Para quem usa o Docker Desktop, uma correção está a caminho na versão 4.33, mas o impacto é considerado menos grave do que em ambientes de produção, segundo a Docker.

Para acessar a API do Docker, crucial para um exploit, o atacante já precisaria ter acesso local à máquina ou ter o daemon do Docker exposto via TCP. Embora as versões vulneráveis do Docker Engine estejam na versão mais recente do Docker Desktop, a configuração padrão do Desktop não depende de plugins AuthZ.

Mesmo que as condições acima fossem favoráveis a um atacante, a escalada de privilégios também seria limitada à VM do Docker Desktop e não ao host. ®