
CVE-2021-22205 - Execução Remota de Código Não Autenticada no GitLab
CVE-2021-22205 é uma vulnerabilidade crítica de execução remota de código (RCE) que afeta o GitLab Community Edition (CE) e o Enterprise Edition (EE). A vulnerabilidade origina-se da validação inadequada de arquivos de imagem enviados que são processados pelo utilitário de terceiros ExifTool. Um atacante pode criar um arquivo malicioso que aciona a execução arbitrária de comandos no servidor GitLab. A vulnerabilidade recebeu uma pontuação CVSS de 10,0 (Crítica) e foi observada sendo ativamente explorada no mundo real.
A vulnerabilidade afeta as versões do GitLab CE/EE a partir de 11.9 até as seguintes versões:
Organizações que executavam versões vulneráveis do GitLab estavam em risco de comprometimento total do servidor por meio de um simples ataque de upload de arquivo.
O GitLab usa o ExifTool para extrair e sanitizar metadados de arquivos de imagem enviados. O próprio ExifTool continha uma vulnerabilidade envolvendo o processamento de arquivos DjVu especialmente criados (registrada como CVE-2021-22204). O GitLab confiava incorretamente nas extensões de arquivo e passava os arquivos enviados ao ExifTool sem validação suficiente.
Um atacante poderia disfarçar uma carga maliciosa DjVu como um arquivo de imagem. Quando o GitLab processava o arquivo, o ExifTool interpretava os metadados maliciosos e executava comandos controlados pelo atacante no servidor. O ataque acabou sendo reconhecido como explorável sem autenticação, aumentando significativamente sua gravidade.
A exploração bem-sucedida pode permitir que um atacante:
Como muitas organizações expõem instâncias do GitLab diretamente à internet, essa vulnerabilidade representava um grave risco de segurança para a cadeia de suprimentos e a infraestrutura.
Após a divulgação pública, pesquisadores de segurança e agentes de ameaças desenvolveram rapidamente exploits funcionais. Diversos relatórios documentaram tentativas generalizadas de varredura e exploração contra instâncias do GitLab acessíveis publicamente. A vulnerabilidade foi posteriormente adicionada ao catálogo de Vulnerabilidades Exploradas Conhecidas (KEV) da CISA.
Os administradores devem atualizar imediatamente para uma das versões corrigidas:
Recomendações adicionais incluem:
O GitLab pediu oficialmente que clientes autogerenciados atualizassem o mais rápido possível após a observação de atividades de exploração.
Este repositório destina-se exclusivamente a fins educacionais, pesquisa em segurança e ambientes de teste autorizados. Qualquer código de prova de conceito (PoC) fornecido foi projetado para ajudar profissionais de segurança a entender a vulnerabilidade e verificar os esforços de remediação. Testes não autorizados contra sistemas que você não possui ou para os quais não tem permissão explícita de avaliação podem violar leis e regulamentos aplicáveis.