GitHub: vulnerabilidade crítica expõe mais de 4.000 repositórios a ataques de repojacking

De acordo com novas descobertas, uma nova vulnerabilidade divulgada no GitHub poderia ter exposto milhares de repositórios ao risco de ataques de repojacking. Se explorada, essa vulnerabilidade poderia trazer enormes prejuízos aos usuários.

Elad Rapoport, pesquisador de segurança da Checkmarx , em um relatório técnico compartilhado com o The Hacker News, argumenta que a falha “poderia permitir que um invasor explorasse uma condição de corrida nas operações de criação de repositório e renomeação de nome de usuário do GitHub”.

A exploração bem-sucedida desta vulnerabilidade impacta a comunidade de código aberto, permitindo o sequestro de mais de 4.000 pacotes de código em linguagens como Go, PHP e Swift, bem como ações do GitHub.

Vulnerabilidade GitHub e a possibilidade de ataques de repojacking

Após a divulgação responsável em 1º de março de 2023, a plataforma de hospedagem de código de propriedade da Microsoft resolveu o problema a partir de 1º de setembro de 2023. Assim, a plataforma está livre de mais essa vulnerabilidade.

Repojacking, abreviação de sequestro de repositório, é uma técnica em que um agente de ameaça é capaz de contornar um mecanismo de segurança chamado de aposentadoria de namespace de repositório popular e, em última análise, o controle de um repositório.

O que a medida de proteção faz é impedir que outros usuários criem um repositório com o mesmo nome de um repositório com mais de 100 clones no momento em que sua conta de usuário for renomeada. Em outras palavras, a combinação do nome de usuário e do nome do repositório é considerada “aposentada”.

Se isso for contornado trivialmente, poderá permitir que os agentes da ameaça criem novas contas com o mesmo nome de utilizador e carreguem repositórios maliciosos, levando potencialmente a ataques à cadeia de fornecimento de software.

O novo método descrito por Checkmarx aproveita uma potencial condição de corrida entre a criação de um repositório e a renomeação de um nome de usuário para conseguir o repojacking. Especificamente, envolve as seguintes etapas: a vítima possui o namespace “victim_user/repo”; a vítima renomeia “victim_user” para “renamed_user”; o repositório “victim_user/repo” foi retirado; um agente de ameaça com o nome de usuário “attacker_user” cria simultaneamente um repositório chamado “repo” e renomeia o nome de usuário “attacker_user” para “victim_user”; a última etapa é realizada usando uma solicitação de API para criação de repositório e uma interceptação de solicitação renomeada para alteração de nome de usuário. O desenvolvimento ocorre quase nove meses depois que o GitHub corrigiu uma falha de desvio semelhante que poderia abrir a porta para ataques de repojacking.

A descoberta desta nova vulnerabilidade nas operações de criação de repositórios e renomeação de nomes de usuário do GitHub sublinha os riscos persistentes associados ao mecanismo de ‘retirada de namespaces de repositórios populares’.

Rapoport
Via: TheHackerNews
Share This Article
Follow:
Jardeson é Mestre em Tecnologia Agroalimentar e Licenciado em Ciências Agrária pela Universidade Federal da Paraíba. Entusiasta no mundo tecnológico, gosta de arquitetura e design gráfico. Economia, tecnologia e atualidade são focos de suas leituras diárias. Acredita que seu dia pode ser salvo por um vídeo engraçado.
Sair da versão mobile