.

Imagens Getty
Já se passou muito tempo desde que o usuário médio de computador pensou em arquivos .cue, ou folhas de sinalização, os bits de metadados que descrevem as trilhas de um disco óptico, como um CD ou DVD. Mas as folhas de dicas estão chamando a atenção novamente, pelos motivos errados. Eles estão no centro de uma exploração de um clique que pode permitir que um invasor execute código em sistemas Linux com desktops GNOME.
CVE-2023-43641, divulgado pelo GitHub em 9 de outubro, é um problema de corrupção de memória (ou gravação de array fora dos limites) na biblioteca libcue, que analisa folhas de sinalização. O NIST ainda não forneceu uma pontuação para o problema, mas o envio do GitHub classifica-o como 8,8, ou “Alto”. Embora a vulnerabilidade tenha sido corrigida na biblioteca principal, as distribuições Linux precisarão atualizar seus desktops para corrigi-la.
Os desktops GNOME têm, por padrão, um “minerador rastreador” que é atualizado automaticamente sempre que determinados locais de arquivo no diretório inicial de um usuário são alterados. Se um usuário fosse obrigado a baixar uma folha de sinalização que aproveitasse a vulnerabilidade da libcue, o rastreador de indexação do GNOME leria a folha de sinalização e o código dessa planilha poderia ser executado.
-
Parte um do exemplo de exploração baseado em .cue: um desktop Ubuntu, com um navegador aberto, baixando um arquivo CUE.
Kevin Backhouse/GitHub
-
Parte 2: Uma calculadora aparece imediatamente, com “1337” no display numérico. Você pode imaginar que a maioria das explorações teria consequências muito piores.
Kevin Backhouse/GitHub
Kevin Backhouse, membro do Laboratório de Segurança do GitHub, oferece uma demonstração em vídeo da exploração em seu blog, mas ainda não publicou a prova de conceito para permitir a correção. Você pode testar a vulnerabilidade do seu sistema em uma folha de dicas de teste que ele oferece, o que deve desencadear “uma falha benigna”.
O bug é específico de como o libcue lê o índice de uma trilha do disco ou seu número e comprimento. Por causa das ferramentas de sistema que ele usa, você pode enganar o libcue para que ele registre um número negativo para um índice. Então, como outra parte da rotina de varredura não verifica se um número de índice é negativo antes de gravá-lo em um array, um invasor pode escrever fora dos limites do array. A correção proposta por Backhouse adiciona uma única verificação de condição à rotina de configuração de índice.
A postagem do blog de Backhouse explica melhor como os rastreadores-mineradores, como os do GNOME, são particularmente vulneráveis a esse tipo de exploração.
A solução atual é que os usuários de distribuições baseadas no GNOME atualizem seus sistemas o mais rápido possível. A vulnerabilidade no libcue foi corrigida a partir da versão 2.3.0. Libcue é tipicamente um projeto bastante silencioso, mantido em grande parte apenas por Ilya Lipnitskiy. Ilustra, mais uma vez, a vasta quantidade de infra-estruturas tecnológicas sustentadas por projectos minúsculos e não remunerados.
Esta não é a primeira contribuição de Backhouse para amplas vulnerabilidades do Linux. Ele já encontrou problemas com usuários padrão se tornando root com alguns comandos e uma exploração do Polkit que também oferecia acesso root. Backhouse, apesar de ser um portador recorrente de más notícias, adicionou esta nota de rodapé à sua divulgação de vulnerabilidade mais recente: “Atualmente executo o Ubuntu 23.04 como meu sistema operacional principal e amor o ambiente de área de trabalho GNOME.”
.