Hackers comprometem cinco versões do CLI da OVHcloud para distribuir malware que rouba segredos
20 de Outubro de 2026

Um invasor usou a conta GitHub de um colaborador para substituir os arquivos de download de cinco versões já publicadas da ferramenta de linha de comando da OVHcloud na segunda-feira, 19 de outubro. Segundo a provedora de serviços em nuvem, a conta havia sido sequestrada e os novos arquivos continham uma compilação projetada para roubar segredos armazenados no disco de qualquer máquina em que fosse executada.

Os arquivos maliciosos ficaram no GitHub por até 94 minutos, entre 12h47 e 14h21 UTC. Só foram expostas as pessoas que instalaram ou atualizaram a ferramenta nesse intervalo, em macOS, Linux x86_64 ou arm64, ou Windows x86_64, por um método que não verifica o hash.

A OVHcloud removeu os arquivos adulterados e publicou naquela noite a versão limpa v0.16.0 como uma versão imutável, cujos arquivos não podem ser alterados no GitHub. O código-fonte, a etiqueta da versão e o fluxo de compilação da empresa não foram afetados. A compilação maliciosa foi feita com o comando comum `go build`, a partir de uma alteração posterior, e enviada diretamente às versões publicadas entre abril e setembro.

Quem foi exposto

Na v0.15.0, o invasor substituiu seis arquivos: os arquivos compactados para macOS x86_64 e arm64, Linux x86_64 e arm64 e Windows x86_64, além do arquivo checksums.txt, que passou a conter os hashes correspondentes aos novos binários. Os mesmos seis arquivos também foram substituídos nas versões v0.11.0 a v0.14.0. As compilações para Linux i386, Windows i386, Windows arm64 e WebAssembly não foram alteradas em nenhuma versão.

A OVHcloud identifica as versões v0.11.0 a v0.15.0 como comprometidas e a v0.10.0 como limpa. As cinco versões afetadas foram publicadas entre 14 de abril e 16 de setembro. Portanto, uma cópia instalada antes das 12h47 UTC de segunda-feira e que não tenha sido atualizada desde então é a versão original.

Você recebeu um arquivo adulterado se, durante o intervalo e em uma das plataformas afetadas:

- Executou o script oficial de instalação (`curl -fsSL https://raw.githubusercontent.com/ovh/ovhcloud-cli/main/install.sh | sh`). O script baixa o arquivo compactado da versão mais recente e o instala sem verificar o hash.
- Baixou um arquivo compactado da página de versões do GitHub de qualquer uma das cinco versões afetadas.
- Executou um trabalho de CI ou uma etapa de compilação que baixa o arquivo pelo endereço de download da versão sem fixar um hash.
- Usou o comando de atualização da própria ferramenta em um computador macOS ou Linux, a partir de uma instalação v0.12.0, v0.13.0 ou v0.14.0 feita pelo script ou manualmente. O comando baixa o arquivo compactado e substitui o binário sem verificar o hash. Em instalações feitas pelo Homebrew ou com `go install`, ele apenas exibe o comando que deve ser executado.

Você não recebeu o arquivo adulterado se:

- Instalou a ferramenta pelo Homebrew. Durante o período, o pacote do Homebrew fixava o SHA-256 original de cada arquivo compactado. Como o Homebrew rejeita downloads com hash diferente, os comandos `brew install` e `brew upgrade` teriam falhado, em vez de instalar o arquivo adulterado. Algumas publicações iniciais incluíram o Homebrew entre os métodos afetados, mas o The Hacker News verificou o histórico de alterações do repositório do pacote: nada mudou entre o pacote da v0.15.0, em 16 de setembro, e o da v0.16.0, publicado na noite de segunda-feira.
- Usou `go install` ou compilou a ferramenta a partir do código-fonte. A etiqueta da versão v0.15.0 continua apontando para a revisão de setembro, 760fd72.
- Baixou a imagem do Docker. A etiqueta “latest” foi enviada pela última vez em 21 de setembro, quatro semanas antes da adulteração, e não havia sido recompilada até terça-feira.
- Instalou a ferramenta antes das 12h47 UTC de segunda-feira e não a atualizou durante o período.

Como identificar a compilação

O cliente que detectou a adulteração extraiu as informações de compilação do novo binário Linux arm64 da v0.15.0 usando `go version -m`, comando que lê o arquivo sem executá-lo. Em seguida, publicou os dados em uma discussão no GitHub. Três sinais identificam a compilação maliciosa:

- A linha do módulo mostra `v0.15.1-0.20261013083505-5ead8ef9b43d+dirty`, uma pseudo-versão. O Go usa esse formato para identificar uma compilação feita a partir de uma revisão sem etiqueta, neste caso, uma de 13 de outubro. Uma versão oficial traz o número da etiqueta: a compilação limpa da v0.16.0 da OVHcloud mostra `v0.16.0+dirty`.
- A revisão registrada é `5ead8ef`, e não `760fd72`, para a qual aponta a etiqueta da v0.15.0.
- Há uma linha `-ldflags="-s -w"`. O fluxo de publicação da OVHcloud usa uma opção de versão que o Go não inclui entre as opções registradas. Por isso, uma versão oficial não apresenta nenhuma linha `-ldflags`.

Recomendações que apontam qualquer compilação marcada com `+dirty` ou que contenha linhas `vcs` como maliciosa também identificariam incorretamente uma versão oficial da OVHcloud. O The Hacker News executou o mesmo comando no binário Linux x86_64 limpo da v0.16.0. O resultado mostra `v0.16.0+dirty`, `vcs.modified=true` e a revisão usada na compilação.

O único hash publicado de um arquivo adulterado é o do arquivo compactado Linux arm64 da v0.15.0:

- SHA-256 do arquivo adulterado: `3833daffcaaaab27e4e0e0833240ffcb1df8df648f4ec0bc4a75c176e28933cb`
- SHA-256 do arquivo original: `5c2beb56e6d83a4b426565a1557791ef759316abcc4effb38dd627c90aeb80e0`

Uma compilação feita sem a opção de versão exibiria a versão como indefinida. Ainda assim, não é recomendável executar um binário suspeito para verificar essa informação.

O que fazer

O fundador da OVHcloud, Octave Klaba, escreveu no X na noite de segunda-feira que as pessoas afetadas deveriam substituir todos os segredos armazenados no disco.

A documentação da ferramenta informa que as credenciais da API da OVHcloud ficam em `~/.ovh.conf` e também podem ser lidas por meio de variáveis de ambiente. A recomendação, porém, abrange tudo o que estiver no disco, não apenas esses arquivos.

- Se você executou uma compilação adulterada ou não consegue determinar se foi afetado, considere exposto todo segredo que pudesse ser lido naquela máquina e substitua-o. A OpenSourceMalware, que investigou o incidente, recomenda fazer isso a partir de outro computador.
- Remova o binário e instale a v0.16.0. A versão é imutável e vem acompanhada de um atestado de publicação, um registro assinado dos arquivos. A atualização substitui o programa, mas não invalida uma chave que já tenha sido copiada. Por isso, substitua as credenciais primeiro.
- Verifique um arquivo compactado baixado em relação à versão publicada usando `gh release verify-asset v0.16.0 FILE`, conforme a documentação do GitHub.

A OVHcloud não informou quais arquivos o binário lê, para onde os envia nem quantas cópias foram baixadas. Nenhum exemplar de um arquivo adulterado foi analisado publicamente. A empresa prometeu divulgar uma análise detalhada do incidente nos próximos dias.

Como aconteceu

Quem tem acesso de escrita a um repositório do GitHub pode excluir os arquivos anexados a uma versão e enviar outros com os mesmos nomes. O endereço de download permanece igual, a menos que a imutabilidade da versão esteja ativada.

A opção, disponível de forma geral desde outubro de 2025, bloqueia os arquivos e a etiqueta de uma versão, mas protege apenas as versões criadas depois de sua ativação.

A OVHcloud ainda não havia ativado esse recurso. Em uma segunda publicação na noite de segunda-feira, citada pelo Next, Klaba afirmou que o problema ocorreu porque a opção de imutabilidade estava desativada. Com isso, um usuário com as permissões adequadas pôde modificar versões existentes diretamente no GitHub, sem passar pelas verificações do fluxo de CI/CD da empresa. A opção já foi ativada, e os próprios fluxos de trabalho não foram afetados.

As cinco versões antigas agora oferecem apenas os quatro arquivos compactados que o invasor não alterou.

Segundo a OpenSourceMalware, que montou uma linha do tempo com base em registros do lado do servidor do GitHub, os arquivos foram enviados por meio da conta de um colaborador cujo trabalho incorporado está no repositório de documentação da OVHcloud e que não é um integrante público da organização.

O fluxo de publicação não foi executado. A lista de execuções não mostra nenhum fluxo de trabalho entre 16 de outubro e o envio da etiqueta da v0.16.0, às 16h UTC de segunda-feira. Nas primeiras verificações, não foi encontrado nenhum outro repositório afetado, escreveu Klaba em sua primeira publicação. A OVHcloud não informou como as credenciais da conta foram obtidas.

O trabalho de CI de um cliente detectou a adulteração porque fixava o SHA-256 do arquivo compactado Linux arm64 e começou a falhar. Como o repositório não tinha um canal privado para relatos, o cliente abriu uma discussão pública. Segundo a linha do tempo da OpenSourceMalware, isso ocorreu às 13h50 UTC. Cerca de meia hora depois, às 14h21 UTC, a OVHcloud removeu os arquivos adulterados. Em seguida, às 17h16 UTC, publicou a v0.16.0 pela conta ovh-cds da empresa, com uma etiqueta assinada.

A possível ligação com o GlassWorm

A OpenSourceMalware relaciona a conta ao GlassWorm, uma campanha de malware que oculta código em caracteres Unicode invisíveis e busca a etapa seguinte no campo de memorando das transações de uma carteira Solana. Os pesquisadores descobriram que quatro repositórios pessoais da conta receberam envios forçados em 5 e 6 de março, com uma alteração que adicionava um loader desse tipo.

A carteira consultada por esse loader é a mesma mencionada na campanha ForceMemo do GlassWorm, que em março inseriu malware em centenas de repositórios Python por meio de tokens GitHub roubados. O The Hacker News confirmou que o arquivo do loader ainda está em um desses repositórios e contém o hash divulgado pelos pesquisadores.

“É uma inferência nossa” que o mesmo agente tenha realizado os dois ataques, escreveram os pesquisadores. A conta compartilhada é o elo entre os casos. Não há, porém, nenhuma ligação entre o binário de outubro e o GlassWorm, pois nenhuma cópia do arquivo foi preservada.

Publicidade

Anuncie no CaveiraTech e coloque sua marca na frente de milhares de profissionais de cybersecurity

Nossa audiência é formada por analistas, pentesters, decisores e entusiastas que consomem nossas notícias todo dia pelo Site, Newsletter e Instagram. Fale com quem realmente importa para o seu negócio. Anuncie aqui. Saiba mais...