Se exploradas, essas falhas podem permitir que invasores obtenham acesso não autorizado a informações confidenciais ou geralmente causem problemas
Tornou-se conhecido informações sobre uma vulnerabilidade (já catalogado sob CVE-2023-43641) que foi identificado na biblioteca libcue, que é usado para analisar metadados com informações sobre a ordem e duração das faixas de áudio.
Para quem não conhece o libcue, saiba que é uma biblioteca que se utilizar analisar folhas de referência, um formato de metadados para descrever o layout das faixas em um CD. As folhas de dicas são frequentemente usadas em combinação com o formato de arquivo de áudio FLAC, o que significa que libcue é uma dependência de alguns reprodutores de áudio.
Menciona-se que a gravidade da vulnerabilidade se deve ao fato de que esta permite a execução de código ao processar arquivos cue especialmente projetado. Além disso, a biblioteca libcue é usada no mecanismo de busca de rastreadores-mineradores usado no ambiente de usuário GNOME.
Como os rastreadores indexam automaticamente novos arquivos de mídia no diretório inicial, para atacar sistemas GNOME e fazer o código do invasor ser executado, basta que o usuário basta adicionar um arquivo especialmente projetado em uma das seguintes pastas ~/Downloads, ~/Music ou e na pasta Vídeos, sem precisar abri-la (por exemplo, em alguns casos, basta clicar em um link no navegador).
A arquitetura de dois processos dos mineradores rastreadores é útil para exploração. Em primeiro lugar, é muito mais fácil prever o layout da memória em um processo recém-iniciado do que em um que já está em execução há horas, portanto, o fato de o tracker-extract iniciar apenas sob demanda é muito conveniente.
Melhor ainda, o tracker-extract sempre cria um novo thread para verificar o arquivo baixado, e descobri que o layout do heap no campo malloc do thread é muito consistente: varia entre as distribuições...
Em relação à vulnerabilidade, menciona-se que esta é causado por um estouro de número inteiro no código de análise do parâmetro INDEX e ocorre quando valores numéricos muito grandes são especificados neste parâmetro que não cabem no tipo "int".
Em um exemplo simples:
FAIXA 01 TÍTULO DE ÁUDIO "Never Gonna Give You Up" ... ÍNDICE 01 00: 00: 00 FAIXA 02 TÍTULO DE ÁUDIO "Sempre que você precisar de alguém" ... ÍNDICE 01 03: 35: 00
A vulnerabilidade está no tratamento da sintaxe INDEX, que ocorre ao substituir uma dessas instruções. Isso irá desencadear o erro:
ÍNDICE 4294567296 0
Para converter uma string em um número, a função atoi é usada, por ex. Se você especificar o número 4294567296, ele será convertido para -400000. A vulnerabilidade é causada diretamente pela falha na verificação do valor resultante para garantir que ele pode ser negativo. A segunda parte do problema (e esta é a vulnerabilidade real) é que track_set_index não é verificado para i ≥ 0:
void track_set_index(Track *track, int i, long ind) { if (i > MAXINDEX) { fprintf(stderr, "muitos índices\n"); retornar; } trilha->índice[i] = ind;
A vulnerabilidade acontece como resultado do código após a conversão atoi, é realizada a operação, na qual "i" pode receber um número negativo para sobrescrever a área de memória fora do buffer com o valor "ind", que também é carregado de o arquivo que está sendo processado.
Os pesquisadores que identificaram a vulnerabilidade mencionam que Eles prepararam uma exploração funcional e demonstrou a capacidade de explorar ambientes baseados em Ubuntu 23.04 e Fedora 38. O código de exploração será publicado posteriormente para dar aos usuários tempo para instalar uma atualização que elimine a vulnerabilidade. A exploração é estável em operação, mas requer adaptação para cada distribuição.
Na maioria das distribuições GNOME, os rastreadores-mineradores são habilitados por padrão e carregados como uma dependência física do gerenciador de arquivos Nautilus (arquivos GNOME). É mencionado que os rastreadores-mineradores podem ser desabilitados diretamente pelo usuário. Você pode verificar os detalhes para poder desativar os mineradores rastreadores no link a seguir
Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir