Git 2.38.1 lançado com correções para duas falhas de segurança

E foi lançado o Git 2.38.1 com correções para duas falhas de segurança, e muito mais. Confira as novidades e veja como instalar no Linux.

Um sistema de controle de versão permite organizar o ciclo de desenvolvimento de um aplicativo em geral. De todos eles, o Git é um dos mais populares e tem o melhor suporte dos desenvolvedores.

O Git é um dos sistemas de controle de versão mais populares, confiáveis ​​e de alto desempenho, além de fornecer ferramentas de desenvolvimento não-linear baseadas em mesclagem e versões flexíveis.

Para garantir a integridade do histórico e a resistência a alterações retrospectivas, o hash implícito de todo o histórico anterior é usado em cada confirmação, e as assinaturas digitais de desenvolvedores e confirmações individuais de tags também podem ser verificadas.

Agora, o Git 2.38.1 foi lançado como a atualização de recurso mais recente desse sistema de controle de revisão distribuído amplamente usado.

Novidades do Git 2.38.1

Git 2.38.1 lançado com correções para duas falhas de segurança

Sim. O Git 2.38.1 acaba de ser lançado junto com atualizações para versões mais antigas, incluindo os novos lançamentos pontuais de v2.30.6, v2.31.5, v2.32.4, v2.33.5, v2.34.5, v2.35.5, v2.36.3 e v2 .37.4.

O grande conjunto de atualizações do Git hoje se deve a mais dois problemas de segurança que vieram à tona.

As vulnerabilidades mais recentes do Git são CVE-2022-39253 e CVE-2022-39260.

O primeiro diz respeito à otimização do clone “--local” que leva a possíveis arquivos arbitrários que aparecem em $GIT_DIR ao clonar de um repositório malicioso.

A outra vulnerabilidade é sobre strings de comando excessivamente longas passadas para o subcomando git shell que podem levar a gravações de heap arbitrárias e execução remota de código.

Esses dois CVEs são resumidos no anúncio de lançamento do Git 2.38.1 como:
CVE-2022-39253:
Ao confiar na otimização de clone `–local`, o Git desreferencia links simbólicos no repositório de origem antes de criar hardlinks (ou cópias) do link desreferenciado no repositório de destino. Isso pode levar a um comportamento surpreendente onde arquivos arbitrários estão presentes no `$GIT_DIR` de um repositório ao clonar de um repositório malicioso.

O Git não desreferenciará mais links simbólicos através do mecanismo de clonagem `–local` e, em vez disso, se recusará a clonar repositórios que tenham links simbólicos presentes no diretório `$GIT_DIR/objects`.

Além disso, o valor de `protocol.file.allow` é alterado para “usuário” por padrão.

CVE-2022-39260:
Uma string de comando excessivamente longa dada ao `git shell` pode resultar em estouro em `split_cmdline()`, levando a gravações de heap arbitrárias e execução remota de código quando o `git shell` é exposto e o diretório `$HOME/git-shell- comandos` existe.

O `git shell` é ensinado a recusar comandos interativos com mais de 4 MiB de tamanho. `split_cmdline()` é reforçado para rejeitar entradas maiores que 2GiB.

Mais detalhes sobre o Git 2.38.1 leia o anúncio de lançamento.

Como instalar ou atualizar o Git

Se você deseja atualizar ou instalar esta ferramenta, precisamos apenas abrir um terminal em nosso sistema e digitar um dos seguintes comandos.
Debian/Ubuntu
sudo apt-get install git

Fedora
sudo dnf install git

Gentoo
emerge --ask --verbose dev-vcs/git

Arch Linux
sudo pacman -S git

openSUSE
sudo zypper install git

Mageia
sudo urpmi git

Alpine
sudo apk add git

Ou

Para instalar a versão mais recente do Git nas principais distribuições Linux, use esse tutorial:
Como instalar a última versão do Git no Debian ou Ubuntu
Como instalar a versão mais recente do GIT no CentOS, RHEL e derivados

Sair da versão mobile