Vulnerabilidade no GitHub expõe tokens de autenticação por meio de Artifacts utilizados em Actions de processos de CI/CD
O problema afetou projetos de código aberto de grandes empresas, como Google Microsoft, AWS e Red Hat, e permite que invasores obtenham acesso não autorizado a repositórios privados, roubem código-fonte ou insiram scripts maliciosos em projetos. Os responsáveis pelos repositórios afetados foram notificados e tomaram medidas de correção. No entanto, o GitHub optou por não resolver a vulnerabilidade diretamente, deixando a responsabilidade para os usuários.
Entre as causas do vazamento estão configurações inseguras por padrão, erros de configuração dos usuários e verificações de segurança insuficientes. Um exemplo específico é a ação 'actions/checkout', utilizada para clonar o repositório durante a execução do workflow, que armazena o token do GitHub em um diretório oculto local. Se esse diretório for carregado como parte de um artefato, o token pode ser exposto. Além dos tokens do GitHub, outros dados sensíveis, como chaves de API e tokens de acesso a serviços em nuvem, também podem ser vazados.
Para mitigar esses riscos, é recomendado evitar o upload de diretórios inteiros como artefatos, sanitizar logs e revisar regularmente as configurações dos pipelines de CI/CD. Além disso, as permissões dos tokens utilizados em workflows devem ser configuradas com o mínimo de privilégios necessários para minimizar os danos em caso de exposição.
Os repositórios afetados foram:
- Firebase (Google)
- OpenSearch Security (AWS)
- Clair (Red Hat)
- Active Directory System (Adsys) (Canonical)
- JSON Schemas (Microsoft)
- TypeScript Repos Automation, TypeScript Bot Test Triggerer, Azure Draft (Microsoft)
- CycloneDX SBOM (OWASP)
- Stockfish
- Libevent
- Guardian for Apache Kafka (Aiven-Open)
- Git Annex (Datalad)
- Penrose
- Deckhouse
- Concrete-ML (Zama AI)