Atualização do Git com 8 vulnerabilidades corrigidas

Publicados versões corretivas do sistema de controle de origem 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.62.24.1 XNUMX, que corrigiu vulnerabilidades que permitiam a um invasor reescrever caminhos arbitrários no sistema de arquivos, organizar a execução remota de código ou substituir arquivos no diretório “.git/”. A maioria dos problemas identificados pelos funcionários
Centro de Resposta de Segurança da Microsoft, cinco das oito vulnerabilidades são específicas da plataforma Windows.

  • CVE-2019-1348 - comando de streaming “feature export-marks=path”permite gravar rótulos em diretórios arbitrários, que podem ser usados ​​para substituir caminhos arbitrários no sistema de arquivos ao executar uma operação "git fast-import" com dados de entrada não verificados.
  • CVE-2019-1350 - escape incorreto de argumentos de linha de comando pode levar para execução remota do código do invasor durante a clonagem recursiva usando o URL ssh://. Em particular, argumentos de escape que terminavam em barra invertida (por exemplo, “teste \”) eram tratados incorretamente. Neste caso, ao enquadrar um argumento entre aspas duplas, a última aspa foi escapada, o que possibilitou organizar a substituição de suas opções na linha de comando.
  • CVE-2019-1349 — ao clonar recursivamente submódulos (“clone —recurse-submodules”) no ambiente Windows sob certas condições poderia acionar o uso do mesmo diretório git duas vezes (.git, git~1, git~2 e git~N são reconhecidos como um diretório em NTFS, mas esta situação só foi testada para git~1), que poderia ser usada para organizar escrevendo no diretório ".git". Para organizar a execução de seu código, um invasor, por exemplo, pode substituir seu script por meio do manipulador pós-checkout no arquivo .git/config.
  • CVE-2019-1351 — o manipulador para nomes de unidades com letras em caminhos do Windows ao traduzir caminhos como “C:\” foi projetado apenas para substituir identificadores latinos de uma única letra, mas não levou em consideração a possibilidade de criar unidades virtuais atribuídas por meio de “subst letter:path” . Tais caminhos foram tratados não como absolutos, mas como caminhos relativos, o que possibilitou, ao clonar um repositório malicioso, organizar um registro em um diretório arbitrário fora da árvore de diretórios de trabalho (por exemplo, ao usar números ou caracteres Unicode no disco nome - “1:\what\the\ hex.txt" ou "ä:\tschibät.sch").
  • CVE-2019-1352 — ao trabalhar na plataforma Windows, a utilização de fluxos de dados alternativos em NTFS, criados pela adição do atributo “:stream-name:stream-type” ao nome do arquivo, permitido substituir arquivos no diretório ".git/" ao clonar um repositório malicioso. Por exemplo, o nome ".git::$INDEX_ALLOCATION" em NTFS foi tratado como um link válido para o diretório ".git".
  • CVE-2019-1353 — ao usar Git em um ambiente WSL (Windows Subsystem for Linux) ao acessar o diretório de trabalho não usado proteção contra manipulação de nomes em NTFS (eram possíveis ataques através da tradução de nomes FAT, por exemplo, “.git” poderia ser acessado através do diretório “git~1”).
  • CVE-2019-1354 -
    oportunidade grava no diretório ".git/" na plataforma Windows ao clonar repositórios maliciosos contendo arquivos com uma barra invertida no nome (por exemplo, "a\b"), o que é aceitável em Unix/Linux, mas é aceito como parte de o caminho no Windows.

  • CVE-2019-1387 — a verificação insuficiente dos nomes dos submódulos poderia ser usada para organizar ataques direcionados, que, se clonados recursivamente, poderiam potencialmente pode levar para executar o código do invasor. O Git não impediu a criação de um diretório de submódulo dentro do diretório de outro submódulo, o que na maioria dos casos só levaria à confusão, mas não impediu potencialmente que o conteúdo de outro módulo fosse substituído durante o processo de clonagem recursiva (por exemplo, os diretórios do submódulo "hippo" e "hippo/hooks" são colocados como " .git/modules/hippo/" e ".git/modules/hippo/hooks/", e o diretório de ganchos no hippo pode ser usado separadamente para hospedar ganchos acionados.

Os usuários do Windows são aconselhados a atualizar imediatamente sua versão do Git e evitar clonar repositórios não verificados até a atualização. Se ainda não for possível atualizar urgentemente a versão Git, então para reduzir o risco de ataque, é recomendado 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 para partições baseadas em NTFS.

Para maior segurança, novos lançamentos também proíbem o uso de construções no formato "submodule.{name}.update=!command" em .gitmodules. Para distribuições, você pode acompanhar o lançamento de atualizações de pacotes nas páginas Debian,Ubuntu, RHEL, SUSE / openSUSE, Fedora, arco, ALT, FreeBSD.

Fonte: opennet.ru

Adicionar um comentário