Foram publicados lançamentos corretivos do sistema de controle de versões distribuído Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 e 2.30.8, que corrigem duas vulnerabilidades relacionadas a otimizações ao clonar localmente e ao comando 'git apply'. Você pode acompanhar os lançamentos de atualizações dos pacotes nas distribuições Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch e FreeBSD. Se a atualização não puder ser instalada, recomenda-se evitar a execução da operação 'git clone' com a opção '--recurse-submodules' em repositórios não confiáveis e não usar os comandos 'git apply' e 'git am' com código não verificado.
- A vulnerabilidade CVE-2023-22490 permite que um atacante, controlando o conteúdo do repositório clonado, acesse dados confidenciais no sistema do usuário. O surgimento da vulnerabilidade é causado por duas falhas:
A primeira falha permite, ao trabalhar com um repositório especificamente formatado, a aplicação de otimizações locais de clonagem mesmo ao usar um transporte que interage com sistemas externos.
A segunda falha permite que um link simbólico seja colocado no lugar do diretório $GIT_DIR/objects, assim como na vulnerabilidade CVE-2022-39253, na qual o bloqueio de links simbólicos no diretório $GIT_DIR/objects foi corrigido, mas não se verificou se o próprio diretório $GIT_DIR/objects poderia ser um link simbólico.
No modo de clonagem local, o git move $GIT_DIR/objects para o diretório de destino, resolvendo links simbólicos, o que resulta na cópia dos arquivos diretamente apontados pelos links para o diretório de destino. A mudança para aplicar otimizações locais de clonagem para transporte não local permite explorar a vulnerabilidade ao trabalhar com repositórios externos (por exemplo, a inclusão recursiva de submódulos com o comando 'git clone --recurse-submodules' pode levar à clonagem de um repositório malicioso empacotado como um submódulo em outro repositório).
- A vulnerabilidade CVE-2023-23946 permite a sobrescrita do conteúdo de arquivos fora do diretório de trabalho ao enviar uma entrada especialmente formatada para o comando "git apply". Por exemplo, um ataque pode ser realizado ao processar patches manipulados por um invasor no "git apply". Para bloquear a criação de arquivos fora da cópia de trabalho, o "git apply" bloqueia o processamento de patches que tentam gravar arquivos usando links simbólicos. No entanto, essa proteção pode ser contornada criando um link simbólico em primeiro lugar.
Fonte: opennet.ru
