BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Vulnerabilidade Crítica no Git e Mercurial afeta OS X e Windows

Vulnerabilidade Crítica no Git e Mercurial afeta OS X e Windows

Favoritos

Uma vulnerabilidade crítica de segurança afetando o Git e o Mercurial foi anunciada em 19 de dezembro, e torna possível a execução arbitrária de comandos em uma máquina cliente. A vulnerabilidade afeta somente clientes executando OS X (HFS+) e Windows (NTFS, FAT). Os times responsáveis pelo core do Git e pelo Mercurial publicaram novas versões (Git 1.8.5.6, 1.9.5, 2.0.5, 2.1.4, e 2.2.1, Mercurial 3.2.3), corrigindo a vulnerabilidade.

Junio C Hamano , mantenedor do Git desde 2005, descreveu a vulnerabilidade em seu blog:

O Git mantém diversas meta-informações de seus repositórios em arquivos no diretório .git/ localizado na raiz da área de trabalho. O sistema não permite que um arquivo neste diretório (por exemplo, .git/config) seja incluído por um commit no histórico do projeto, ou adicionado na área de trabalho do projeto. De outra maneira, um usuário desavisado pode executar um git pull a partir de um repositório malicioso e então ter as meta-informações do seu repositório excluídas, ou ter extensões executáveis instaladas pelo dono do repositório de onde o git pull foi executado.

Segundo Junio, esta proteção se mostrou inadequada para os sistemas de arquivo que não diferenciam caracteres maiúsculos de minúsculos já que, um invasor pode incluir através de um commit, por exemplo, um arquivo .Git/anything para sobrescrever o arquivo correspondente no diretório .git. Todas as versões do WIndows usando FAT ou NTFS e versões do OS X usando HSF+, que é a versão padrão, são vulneráveis.

A vulnerabilidade também pode ser explorada de outras formas. De fato, o Windows e o OS X mapeiam alguns componentes do sistema de arquivos, que são diferentes do .git, para o .git (por exemplo, "git~1/config" no Windows e ".g\u200cit/config" no OS X são tratados como .git/config).

Esta vulnerabilidade não é conhecida por afetar sistemas Linux, a menos que ele use um sistema de arquivos que não diferencie maiúsculas e minúsculas, o que não e uma opção usual.

A Microsoft lançou correções para suas ferramentas, incluindo o Visual Studio 2013 RTM, o Visual Studio 2013 Update 4 e a extensão VS 2012 VSIX. Além disso, apesar da vulnerabilidade afetar somente clientes, a Microsoft "aplicou uma correção no VS Online e no Codeplex que previne que o servidor aceite comandos git push de arquivos .git/config."

A Apple também anunciou uma versão do XCode 6.2 beta3, para corrigir a vulnerabilidade: "As verificações envolvidas nos caminhos de arquivo não permitidos não contam para os casos de não diferenciação de caracteres maiúsculos/minúsculos ou de caracteres unicode. Este problema foi endereçado por meio da adição de novas verificações."

Finalmente, o GitHub anunciou que eles "completaram uma busca automatizada de todo o conteúdo existente no github.com procurando por conteúdo malicioso que possa ter sido enviado para o site antes desta vulnerabilidade ser descoberta, e implementaram uma alteração para garantir que "repositórios armazenados no github.com não possam conter nenhuma das estruturas de árvores de arquivos maliciosas que disparem a vulnerabilidade".

 

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT