ASA-2019-00667 – Git: Git não se recusa a gravar arquivos rastreados com barras invertidas em nomes de arquivos


For the English version of this alert, click here.

Allele Security Alert

ASA-2019-00667

Identificador(es)

ASA-2019-00667, CVE-2019-1354

Título

Git não se recusa a gravar arquivos rastreados com barras invertidas em nomes de arquivos

Fabricante(s)

the Git project

Produto(s)

Git

Versão(ões) afetada(s)

Git versões 2.24.x anteriores à 2.24.1
Git versões 2.23.x anteriores à 2.23.1
Git versões 2.22.x anteriores à 2.22.2
Git versões 2.21.x anteriores à 2.21.1
Git versões 2.20.x anteriores à 2.20.2
Git versões 2.19.x anteriores à 2.19.3
Git versões 2.18.x anteriores à 2.18.2
Git versões 2.17.x anteriores à 2.17.3
Git versões 2.16.x anteriores à 2.16.6
Git versões 2.15.x anteriores à 2.15.4
Git versões 2.14.x anteriores à 2.14.6

Versão(ões) corrigida(s)

Git versão 2.24.1
Git versão 2.23.1
Git versão 2.22.2
Git versão 2.21.1
Git versão 2.20.2
Git versão 2.19.3
Git versão 2.18.2
Git versão 2.17.3
Git versão 2.16.6
Git versão 2.15.4
Git versão 2.14.6

Git versões com o seguinte commit:

mingw: disallow backslash characters in tree objects’ file names
https://git.kernel.org/pub/scm/git/git.git/commit/?id=e1d911dd4c7b76a5a8cec0f5c8de15981e34da83

Prova de Conceito

Desconhecido

Descrição

Os nomes de arquivos no Linux/Unix podem conter barras invertidas. No Windows, barras invertidas são separadores de diretório. Git não costumava se recusar a escreva arquivos rastreados com esses nomes de arquivos.

Detalhes técnicos

O caractere de barra invertida não é uma parte válida de um nome de arquivo no Windows. Portanto, é perigoso permitir a gravação de arquivos que foram descompactados de objetos de árvore, quando o nome do arquivo armazenado contiver um caractere de barra invertida: será mal interpretado como separador de diretório.

Isso não só causa ambiguidade quando uma árvore contém um blob `a\b` e uma árvore `a` que contém um blob `b`, mas também pode ser usada como parte de um vetor de ataque para evitar as cuidadosas proteções contra escrevendo no diretório `.git/` durante um clone de um repositório criado com códigos maliciosos.

Créditos

Christopher Ertl (Microsoft Corporation) e Nicolas Joly (Microsoft Corporation)

Referência(s)

[ANNOUNCE] Git v2.24.1 and others
https://lkml.org/lkml/2019/12/10/905

mingw: disallow backslash characters in tree objects’ file names
https://git.kernel.org/pub/scm/git/git.git/commit/?id=e1d911dd4c7b76a5a8cec0f5c8de15981e34da83

mingw: disallow backslash characters in tree objects’ file names
https://github.com/git/git/commit/e1d911dd4c7b76a5a8cec0f5c8de15981e34da83

Visual Studio Icon Visual Studio 2019 version 16.4 Release Notes
https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#security-advisory-notice

CVE-2019-1354 | Git for Visual Studio Remote Code Execution Vulnerability
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1354

Git v2.24.1 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.24.1.txt

Git v2.23.1 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.23.1.txt

Git v2.22.2 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.22.2.txt

Git v2.21.1 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.21.1.txt

Git v2.20.2 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.20.2.txt

Git v2.19.3 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.19.3.txt

Git v2.18.2 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.18.2.txt

Git v2.17.3 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.17.3.txt

Git v2.16.6 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.16.6.txt

Git v2.15.4 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.15.4.txt

Git v2.14.6 Release Notes
https://github.com/git/git/blob/master/Documentation/RelNotes/2.14.6.txt

[archlinux cve=”CVE-2019-1354″]

CVE-2019-1354
https://access.redhat.com/security/cve/CVE-2019-1354

CVE-2019-1354
https://security-tracker.debian.org/tracker/CVE-2019-1354

CVE-2019-1354 in Ubuntu
https://people.canonical.com/~ubuntu-security/cve/CVE-2019-1354.html

CVE-2019-1354
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-1354

CVE-2019-1354
https://nvd.nist.gov/vuln/detail/CVE-2019-1354

Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.

Última modificação: 12 dezembro 2019

Não somos responsáveis por qualquer perda de dados, corrupção de dispositivos ou qualquer outro tipo de problema devido ao uso de qualquer informação mencionada em nossos alertas de segurança.