Atualizações corretivas do sistema de controle de versões distribuído Git 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 e 2.14.6.2.24.1, nas quais foram corrigidas vulnerabilidades que permitiam que um atacante reescrevesse caminhos arbitrários no sistema de arquivos, organizasse a execução remota de código ou sobrescrevesse arquivos no diretório '.git/'. A maioria dos problemas foi identificada pelos funcionários do Microsoft Security Response Center, cinco das oito vulnerabilidades são específicas para a plataforma Windows.
CVE-2019-1348
- gravou marcas em diretórios arbitrários, o que poderia ser usado para reescrever caminhos arbitrários no FS ao executar a operação 'git fast-import' com entradas não verificadas. CVE-2019-1350
- poderia ter levado CVE-2019-1349
- podia ser CVE-2019-1351
- CVE-2019-1352
- — ao trabalhar na plataforma Windows, a utilização de fluxos de dados alternativos no NTFS, criados através da adição do marcador «:stream-name:stream-type» ao nome do arquivo, sobrescrever arquivos no diretório «.git/» ao clonar um repositório malicioso. Por exemplo, o nome «.git::$INDEX_ALLOCATION» no NTFS era tratado como um link válido para o diretório «.git».
- — ao usar o Git no ambiente WSL (Windows Subsystem for Linux) ao acessar o diretório de trabalho proteção contra manipulação de nomes no NTFS (eram possíveis ataques através de tradução de nomes FAT, por exemplo, era possível acessar «.git» através do diretório «git~1»).
- —
escritas no diretório «.git/» na plataforma Windows ao clonar repositórios maliciosos que contêm arquivos com uma barra invertida no nome (por exemplo, «a\b»), que é permitido no Unix/Linux, mas é interpretado como parte do caminho no Windows. - — a verificação inadequada dos nomes dos submódulos poderia ser usada para organizar ataques direcionados, que ao clonar recursivamente poderiam potencialmente à execução de código do atacante. O Git não impedia a criação do diretório do submódulo dentro do diretório de outro submódulo, o que na maioria dos casos apenas poderia causar confusão, mas potencialmente não exclui a sobrescrição do conteúdo de outro módulo durante o processo de clonagem recursiva (por exemplo, os diretórios dos submódulos «hippo» e «hippo/hooks» são armazenados como «.git/modules/hippo/» e «.git/modules/hippo/hooks/», e o diretório hooks em hippo pode ser utilizado separadamente para armazenar manipuladores executáveis.
Os usuários do Windows são aconselhados a atualizar urgentemente a versão do Git, e até a atualização, evitar clonar repositórios não verificados. Se não for possível atualizar urgentemente a versão do Git, para reduzir o risco de ataque, recomenda-se não executar «git clone —recurse-submodules» e «git submodule update» com repositórios não verificados, não usar «git fast-import» com fluxos de entrada não verificados e não clonar repositórios em partições baseadas em NTFS.
Para proteção adicional, as novas versões também proíbem o uso em .gitmodules de construções na forma «submodule.{name}.update=!command». Para distribuições, você pode acompanhar o lançamento de atualizações de pacotes nas páginas ,, , , , , , .
Fonte: opennet.ru
