Na biblioteca libcue, utilizada para analisar metadados com informações sobre a ordem e duração das faixas de áudio, foi descoberta uma vulnerabilidade (CVE-2023-43641) que permite a execução de código ao processar arquivos cue especialmente formatados. A biblioteca é utilizada em alguns reprodutores multimídia e editores de áudio, incluindo o Audacious, e pode ser explorada para comprometer o sistema ao abrir dados não verificados nele.
Além disso, a biblioteca libcue é utilizada no mecanismo de busca tracker-miners, que é aplicado no ambiente de usuário GNOME. Como o tracker-miners indexa automaticamente novos arquivos multimídia no diretório home, para atacar sistemas com GNOME e realizar a execução de código do invasor, é suficiente que o usuário apenas faça o upload de um arquivo especialmente formatado no diretório ~/Downloads, ~/Music ou ~/Videos, sem a necessidade de abri-lo (por exemplo, em alguns casos, basta clicar em um link no navegador).
Os pesquisadores que descobriram a vulnerabilidade prepararam um exploit funcional e demonstraram a possibilidade de exploração em ambientes baseados em Ubuntu 23.04 e Fedora 38. O código do exploit será publicado posteriormente, para dar tempo aos usuários de instalar a atualização que corrige a vulnerabilidade. O exploit é estável, mas requer adaptação para cada distribuição.
A vulnerabilidade é causada por um estouro de inteiro no código de análise do parâmetro INDEX e se manifesta quando valores numéricos muito grandes, que não cabem no tipo ‘int’, são especificados nesse parâmetro. Para converter uma string em número, a função atoi é utilizada; por exemplo, ao especificar o número 4294567296, ele será convertido em -400000. A vulnerabilidade é diretamente resultante da ausência de verificação do valor recebido para garantir que ele não possa ser negativo. Como resultado, no código após a conversão de atoi, a operação ‘track->index[i] = ind’ é executada, onde ‘i’ pode ser atribuído a um número negativo, sobrescrevendo a área de memória fora do buffer com o valor ‘ind’, que também é carregado do arquivo sendo processado.
Na maioria das distribuições com GNOME, o componente tracker-miners é ativado por padrão e carregado como uma dependência rígida do gerenciador de arquivos Nautilus (GNOME Files). Para desativar o tracker-miners para o usuário atual, você pode usar os comandos: systemctl —user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service tracker reset —hard
Fonte: opennet.ru
