Daniel van Vugt, da equipe de desktop da Canonical para Ubuntu Linux, recentemente enfrentou vários bugs do GNOME – geralmente problemas de desempenho – enquanto continuava trabalhando no suporte dinâmico de buffer triplo e outras melhorias no desktop GNOME. Sua última descoberta é encontrar outro gargalo de desempenho para configurações multi-GPU. Assim, outro bug encontrado que limita o desempenho do GNOME para configurações de GPU secundárias.
Daniel van Vugt descobriu no Mutter que as frame-rates da GPU estão a ser retidos pelo tratamento do tempo de renderização máximo dinâmico. Por sua vez, os rácios de fotogramas secundários muitas vezes não atingem as taxas de atualização dos monitores. Com uma tela de 130 Hz no Nouveau, ele vê apenas 65 FPS, enquanto com o buffer triplo dinâmico ele chega a 86 FPS e, em seguida, com um ajuste de variável de ambiente para desativar o tempo de renderização máximo dinâmico, ele atinge 130 FPS.
Outro bug encontrado que limita o desempenho do GNOME para configurações de GPU secundárias
Da mesma forma, no Mutter Git ele atinge apenas 30 FPS para uma configuração AMDGPU dirigindo um monitor de 60 Hz, mas com a substituição da variável de ambiente ele pode atingir 60 FPS.
Ele abriu este relatório de bug para o problema com o Mutter upstream. Por enquanto, aqueles que se acredita serem afetados por esse bug podem tentar usar a substituição da variável de ambiente CLUTTER_PAINT=disable-dynamic-max-render-time para desativar o comportamento do tempo de renderização dinâmica máxima.
Mais uma falha no ambiente de trabalho
Uma vulnerabilidade de corrupção de memória na biblioteca de código aberto libcue pode permitir que invasores executem código arbitrário em sistemas Linux que executam o ambiente de desktop GNOME.
libcue, uma biblioteca projetada para analisar arquivos de folhas de sinalização, está integrada ao indexador de metadados de arquivos Tracker Miners, incluído por padrão nas versões mais recentes do GNOME.
Folhas de sinalização (ou arquivos CUE) são arquivos de texto simples que contêm o layout das faixas de áudio em um CD, como duração, nome da música e músico, e também são normalmente combinados com o formato de arquivo de áudio FLAC.
Os invasores podem explorar com sucesso a falha em questão (CVE-2023-43641) para executar código malicioso, aproveitando as vantagens dos Tracker Miners que indexam automaticamente todos os arquivos baixados para atualizar o índice de pesquisa em dispositivos GNOME Linux.
“Devido à forma como é usado pelos rastreadores-mineradores, esta vulnerabilidade no libcue tornou-se um RCE de 1 clique. Se você usa o GNOME, atualize hoje”, disse Kevin Backhouse, pesquisador de segurança do GitHub, que encontrou o bug.
Para explorar esta vulnerabilidade, o usuário visado deve baixar um arquivo .CUE criado com códigos maliciosos, que é então armazenado na pasta ~/Downloads.
A falha de corrupção de memória é acionada quando o indexador de metadados do Tracker Miners analisa o arquivo salvo automaticamente por meio do processo de extração do rastreador.
“Para resumir a história, isso significa que clicar inadvertidamente em um link malicioso é tudo o que um invasor precisa para explorar o CVE-2023-43641 e obter a execução de código em seu computador”, disse Backhouse.
Backhouse demonstrou uma exploração de prova de conceito e compartilhou um vídeo. No entanto, o lançamento do PoC será adiado para dar tempo a todos os usuários do GNOME para atualizar e proteger seus sistemas.
Embora o exploit PoC precise ser ajustado para funcionar corretamente para cada distribuição Linux, o pesquisador disse que já havia criado exploits direcionados às plataformas Ubuntu 23.04 e Fedora 38 que funcionam “de forma muito confiável”.
“Em meus testes, descobri que o PoC funciona de maneira muito confiável quando executado na distribuição correta (e acionará um SIGSEGV quando executado na distribuição errada)”, disse Backhouse.
“Não criei PoCs para nenhuma outra distribuição, mas acredito que todas as distribuições que executam o GNOME são potencialmente exploráveis.”
Embora a exploração bem-sucedida do CVE-2023-43641 exija enganar uma vítima em potencial para que baixe um arquivo .cue, os administradores são aconselhados a corrigir sistemas e mitigar os riscos apresentados por esta falha de segurança, pois fornece execução de código em dispositivos que executam as versões mais recentes do distribuições Linux amplamente utilizadas, incluindo Debian, Fedora e Ubuntu.
Backhouse encontrou outras falhas graves de segurança do Linux nos últimos anos, incluindo um bug de escalonamento de privilégios no GNOME Display Manager (gdm) e um desvio de autenticação no serviço do sistema de autenticação polkit instalado por padrão em muitas plataformas Linux modernas.
Em notícias relacionadas, explorações de prova de conceito já surgiram para a falha de alta gravidade Looney Tunables no carregador dinâmico da Biblioteca GNU C, rastreada como CVE-2023-4911, permitindo que invasores locais obtenham privilégios de root nas principais plataformas Linux.