Você está visualizando atualmente A auditoria de segurança do Git revela erros críticos de estouro

A auditoria de segurança do Git revela erros críticos de estouro

Ben Dickson 20 de janeiro de 2023 às 15:00 UTC
Atualizado: 20 de janeiro de 2023 às 16:34 UTC

As vulnerabilidades descobertas incluem vários problemas de segurança alta, média e baixa

 

Uma auditoria de segurança do código-fonte do Git revelou várias vulnerabilidades, incluindo dois erros críticos de estouro.

A auditoria, patrocinada pelo Open Source Technology Improvement Fund (OSTIF) e realizada pelo X41 D-Sec e GitLab, também incluiu vários problemas de alta, média e baixa gravidade.

Dada a popularidade do Git e sua integração em sistemas de empacotamento populares, as vulnerabilidades podem ter um impacto imenso na segurança da cadeia de suprimentos de software.

operação clone do mal

A falha mais grave que os pesquisadores descobriram foi um bug de corrupção de memória que pode ser acionado quando o Git analisa o arquivo de um repositório. Os desenvolvedores usam para personalizar como o Git lida com diferentes arquivos e caminhos de arquivo em repositórios, como terminações de linha, codificações de arquivo e muito mais.

Os pesquisadores descobriram que, se contivesse uma linha de atributo muito longa ou muitas linhas de atributo, causaria um estouro de contador na função que analisa o arquivo e levaria à execução arbitrária do código.

GOSTA DO SWIG DIÁRIO? Diga-nos o que você pensa sobre a chance de ganhar o prêmio Burp Suite

Um invasor pode explorar o bug enviando um arquivo malicioso para um repositório. O bug seria acionado quando a vítima ligasse ou no repositório.

Como o bug não requer argumentos ou comandos especiais no computador da vítima, ele pode se tornar uma parte importante de ataques perigosos à cadeia de suprimentos.

“Se [os invasores] pudessem organizá-lo em uma biblioteca popular, eles poderiam ter um impacto nos clientes git que o usam, o que também pode envolver qualquer pessoa que use sistemas de pacotes comuns para instalar software”, Markus Vervier, diretor administrativo da X41 D-Sec, disse ao The Daily Swig.

O bug também pode ser usado para explorar os servidores Git, como GitHub ou GitLab, disse Vervier – embora ele tenha acrescentado que o GitLab e o próprio GitHub já foram corrigidos.

Bonita, mas maliciosa

O segundo bug crítico que os pesquisadores descobriram permitiria a execução de código durante operações de arquivamento comumente realizadas por forjas Git, como GitHub e GitLab.

Os comandos e podem exibir commits usando formatação bonita. Ao processar os operadores de preenchimento, um estouro de número inteiro pode ocorrer no analisador de formato pretty se um padrão especificador de formato especial for usado.

O bug de estouro é acionado diretamente se um usuário executar o comando com o especificador ou indiretamente se o comando for chamado por meio do mecanismo.

Leia mais sobre as últimas notícias sobre DevSecOps

Um invasor pode acionar o bug por meio de uma injeção de argumento no comando, confirmou o engenheiro de segurança do GitLab, Joern Schneeweisz, em comentários ao The Daily Swig. Mas o vetor de ataque mais interessante foi a operação, disse ele.

O invasor pode incluir uma instrução no arquivo dentro de um repositório. Ele acionaria o bug por um comando sem a necessidade de qualquer argumento injetado, disse Schneeweisz.

“A carga seria autocontida no repositório e acionada por chamada”, disse Schneeweisz. “Executar em repositórios arbitrários é uma coisa muito comum para forjas Git como GitLab ou GitHub, então esse problema é principalmente uma ameaça RCE [execução remota de código] para eles.”

A ameaça da cadeia de suprimentos

Além das vulnerabilidades críticas, os pesquisadores encontraram muitos problemas relacionados a números inteiros que podem levar a negação de serviço, leituras fora do limite ou simplesmente casos de canto mal tratados em entradas grandes. Vervier disse que as descobertas foram muito relevantes para a segurança das cadeias de suprimentos de software.

“O Git é basicamente o melhor vetor de ataque à cadeia de suprimentos no atual cenário de TI, pois é muito usado até mesmo por gerenciadores de pacotes como Rust/Cargo, Golang, NodeJS e outros. É também a ferramenta de versionamento de código-fonte mais amplamente usada para desenvolvimento”, disse ele.

LEITURA RECOMENDADA Quadrando o círculoCI: plataforma DevOps publica post-mortem sobre violação recente

 

Fonte