Palma na cara: Pesquisadores estão redescobrindo um problema previamente conhecido com o GitHub, uma plataforma usada por centenas de milhões de desenvolvedores ao redor do mundo. Eles estão até propondo uma nova classe de vulnerabilidades para descrever o problema, mas a empresa não parece interessada em lidar com isso.
Analistas de segurança da Truffle Security confirmaram que os desenvolvedores podem acessar dados de forks deletados, repositórios deletados e até mesmo repositórios privados hospedados no GitHub. O problema pode ser explorado como um vetor de ataque potente por atores maliciosos, e os pesquisadores cunharam um novo termo para descrevê-lo: Cross Fork Object Reference (CFOR).
Uma vulnerabilidade CFOR ocorre quando um fork de um repositório GitHub pode acessar dados sensíveis de outro fork. Dados de forks privados e excluídos podem ser facilmente recuperados e acessados diretamente se um terceiro desonesto souber o hash SHA-1 relacionado a um commit. Cada commit salvo em servidores de banco de dados GitHub tem seu próprio hash.
Os analistas da Truffle demonstraram o problema do CFOR bifurcando um repositório criado anteriormente, enviando dados para ele e, em seguida, excluindo o fork. Um commit para o fork agora excluído ainda seria acessível por meio do repositório original, indicando que os dados são armazenados em servidores GitHub mesmo depois que os desenvolvedores acreditam que os excluíram para sempre.
A essência do problema, disseram os pesquisadores, é que ações “destrutivas” na rede de repositórios do GitHub removem referências a commits, mas não apagam os dados reais. Os commits não estão mais disponíveis por meio da interface de usuário “padrão” do GitHub e das operações normais do git, mas um hash de commit previamente conhecido ainda pode ser usado para acessá-los diretamente.
Como isso pode ser um problema de segurança? A Truffle Security observou que commits em repositórios públicos podem inadvertidamente conter dados altamente sensíveis, incluindo senhas ou chaves de API supostamente “secretas”. Até mesmo uma parte de um hash SHA-1 pode ser suficiente para acessar um commit “excluído”, já que o GitHub parece estar trabalhando nos bastidores para “autocompletar” solicitações de acesso direto.
Os pesquisadores conseguiram “facilmente” encontrar 40 chaves de API válidas de forks deletados relacionados a repositórios públicos comumente bifurcados de uma “grande” empresa de IA. “Os hashes de commit podem ser forçados por força bruta através da IU do GitHub, particularmente porque o protocolo git permite o uso de valores SHA-1 curtos ao referenciar um commit”, explicaram os pesquisadores. Um SHA-1 curto é o número mínimo de caracteres necessário para evitar uma colisão com outro hash de commit exclusivo, e apenas quatro caracteres são suficientes para começar a procurar segredos “deletados” em commits do GitHub.
O GitHub respondeu às alegações de CFOR pela Truffle Security, afirmando que esse é o comportamento pretendido e documentado da plataforma de desenvolvimento. A Truffle não está convencida, observando que o serviço deve implementar novas medidas para evitar CFOR. Outras plataformas baseadas em git, como Bitbucket e GitLab, provavelmente são afetadas pelo mesmo problema, disseram os pesquisadores.