# CVE-2021-22175 - Execução Remota de Código no GitLab CE/EE > [!critical] CVSS 9.8 - CISA KEV - RCE Não Autenticado > Vulnerabilidade crítica de execução remota de código no GitLab CE/EE permite que atacantes não autenticados comprometam completamente a instância. Exploração ativa confirmada pelo CISA KEV. ## Visão Geral O **CVE-2021-22175** é uma vulnerabilidade crítica de **Execução Remota de Código (RCE)** não autenticada no **[[GitLab]] CE/EE**, a plataforma de DevOps mais amplamente utilizada em organizações de desenvolvimento de software. A falha reside no mecanismo de importação de projetos do GitLab, específicamente no processamento de exports do GitHub, onde a deserialização insegura de dados permite que um atacante remoto execute comandos arbitrários no servidor sem qualquer autenticação prévia. A gravidade desta vulnerabilidade é excepcional: um atacante com acesso de rede à instância GitLab pode assumir controle total do servidor, acessando todos os repositórios de código-fonte, secrets de CI/CD, tokens de API, credenciais e pipelines de implantação da organização. Em ambientes corporativos, o comprometimento de uma instância GitLab frequentemente equivale ao comprometimento completo da cadeia de suprimentos de software da organização, possibilitando a inserção de código malicioso em todos os projetos hospedados. A adição ao catálogo CISA Known Exploited Vulnerabilities (KEV) em janeiro de 2023 confirma que a vulnerabilidade foi e continua sendo explorada ativamente por atores de ameaça. O GitLab é amplamente utilizado por empresas de tecnologia, startups e times de engenharia no Brasil e na América Latina, tornando esta CVE especialmente relevante para organizações da região com instâncias self-hosted expostas à internet. ## Produtos Afetados | Produto | Versão Afetada | Versão Corrigida | |---------|---------------|-----------------| | GitLab CE | < 13.8.6 | 13.8.6+ | | GitLab CE | < 13.9.4 | 13.9.4+ | | GitLab CE | < 13.10.1 | 13.10.1+ | | GitLab EE | < 13.8.6 | 13.8.6+ | | GitLab EE | < 13.9.4 | 13.9.4+ | | GitLab EE | < 13.10.1 | 13.10.1+ | ## Detalhes Técnicos A vulnerabilidade explora o mecanismo de importação de projetos do GitLab: 1. **Ponto de entrada:** Endpoint de importação de projetos via exportações do GitHub (feature nativa do GitLab) 2. **Deserialização insegura:** O GitLab processa dados YAML de projetos importados sem sanitização adequada 3. **Gadget chain:** Objetos Ruby maliciosos podem ser construídos para acionar execução de código durante deserialização 4. **Sem autenticação:** A funcionalidade de importação é acessível sem autenticação válida nas versões afetadas 5. **Execução como gitlab-www:** Comandos são executados no contexto do processo GitLab (geralmente com privilégios elevados) **Vetor de ataque:** Rede (AV:N) · Complexidade baixa (AC:L) · Sem privilégios necessários (PR:N) · Sem interação do usuário (UI:N) · Impacto total em Confidencialidade, Integridade e Disponibilidade ## Exploração A vulnerabilidade tem exploits públicos disponíveis no Exploit-DB e GitHub. O processo de exploração consiste em: - Construir um arquivo de exportação GitLab contendo payload YAML com gadget chain Ruby - Submeter o arquivo ao endpoint de importação da instância alvo - Receber shell reverso ou executar comandos no servidor alvo ## Mitigação **Ação imediata:** - Atualizar GitLab para versão 13.8.6, 13.9.4 ou 13.10.1 (conforme branch em uso) - Instâncias GitLab.com gerenciadas pela GitLab já foram corrigidas automaticamente **Medidas de contenção:** - Restringir acesso à instância GitLab via firewall a redes internas somente - Desabilitar a funcionalidade de importação de projetos via GitHub se não utilizada - Implementar autenticação obrigatória para todas as operações de importação/exportação - Monitorar logs de acesso ao endpoint `/projects/import` para tentativas suspeitas - Auditar todos os repositórios em busca de commits não autorizados após possível comprometimento - Rotacionar todos os secrets, tokens e credenciais armazenados no GitLab se suspeitar de comprometimento > [!latam] Relevância para Brasil e América Latina > GitLab é amplamente adotado por empresas de tecnologia, fintechs e startups na América Latina, especialmente no Brasil, México e Argentina. Instâncias self-hosted GitLab são comuns em empresas que preferem controle sobre dados de código-fonte. O comprometimento de instâncias GitLab em empresas LATAM pode expor código proprietário, credenciais de cloud (AWS, GCP, Azure), tokens de deployment e pipelines de CI/CD - dados de alto valor para grupos de espionagem industrial e ransomware. ## Notas Relacionadas **TTPs relacionadas:** [[t1190-exploit-public-facing-application|T1190 - Exploit Public-Facing Application]] · [[t1195-002-compromise-software-supply-chain|T1195.002 - Compromise Software Supply Chain]] · [[t1059-ruby|T1059]] · [[t1552-unsecured-credentials|T1552 - Unsecured Credentials]] **Setores em risco:** [[technology]] · [[financial]] · [[government]] **CVEs relacionados:** [[cve-2021-27101|CVE-2021-27101]] · [[cve-2019-19006|CVE-2019-19006]] **Tecnologia:** [[gitlab]] · [[devops-security]] · [[supply-chain-security]] ## Referências - [NVD - CVE-2021-22175](https://nvd.nist.gov/vuln/detail/CVE-2021-22175) - [GitLab Security Advisory](https://about.gitlab.com/releases/2021/03/17/critical-security-release-gitlab-13-10-1-released/) - [CISA KEV Catalog](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) - [Exploit-DB](https://www.exploit-db.com/search?cve=CVE-2021-22175)