Ruby-Git · Ruby-Git · CVE-2022-46648
**Nome do software vulnerável e versões afetadas**
Versões do ruby-git anteriores à v1.13.0
**Descrição**
O problema está relacionado ao gerenciamento incorreto da geração de código na biblioteca Ruby/Git, permitindo que um invasor remoto autenticado execute código Ruby arbitrário. Isso pode ocorrer quando um usuário carrega um repositório contendo um nome de arquivo especialmente criado. A vulnerabilidade é explorada por meio da análise incorreta da saída do comando `git ls-files`, que usa `eval()` para remover a escapagem de nomes de arquivos entre aspas. Se um nome de arquivo contiver caracteres especiais, como `
`, o comando `git ls-files` imprime o nome do arquivo entre aspas e escapa quaisquer caracteres especiais, o que pode levar à execução remota de código.
**Recomendações**
Para versões anteriores à v1.13.0, atualize para a versão 1.13.0 ou posterior, que analisa corretamente quaisquer nomes de arquivos entre aspas. Como solução temporária, considere restringir o uso do método `Git#ls files` até que um patch esteja disponível. Evite usar a função `eval()` para remover as aspas e escapar caracteres especiais em nomes de arquivos.