Uma vulnerabilidade de execução arbitrária de código no KDE Plasma permite que aplicativos sandboxeados, como os distribuídos via Flatpak, executem binários arbitrários no sistema hospedeiro. A falha foi divulgada publicamente em 2 de julho de 2026 pelo desenvolvedor Kimiblock após 90 dias sem correção por parte da equipe de segurança do KDE. Todas as versões do Plasma 6.7 estão afetadas e, até o momento, não existe patch disponível.

Como a vulnerabilidade funciona

A falha reside na forma como o compositor KWin identifica janelas de aplicativos. Quando um app sandboxeado cria uma janela no KDE Plasma, o KWin tenta associá-la a um arquivo .desktop correspondente. Quando essa associação falha — o que ocorre com aplicações que não possuem um .desktop válido registrado — o compositor recorre à leitura de /proc/PID/cmdline para determinar qual binário invocar na ação “Abrir nova janela” (Open New Window).

O problema central é que qualquer processo sem privilégios pode modificar seu próprio argv0. Um aplicativo malicioso, mesmo sem permissões extras, consegue forjar seu identificador para apontar para qualquer binário no hospedeiro. Quando o usuário clica com o botão do meio no ícone do app na barra de tarefas ou seleciona “Abrir nova janela” no menu de contexto, o Plasma executa o binário forjado fora do sandbox, no cgroup app.slice, com acesso total ao sistema de arquivos do hospedeiro e ao namespace de montagem original.

O pesquisador demonstrou a exploração usando uma aplicação Flatpak sem permissões especiais que, ao ser acionada via “Abrir nova janela”, lançou o /usr/bin/kcalc sem nenhum isolamento. Em um cenário de ataque real, o invasor poderia gerar um script malicioso no diretório pessoal do usuário e alterar o argv0 para apontar a ele, obtendo controle total da sessão de trabalho. A prova de conceito completa está disponível no blog do Kimiblock.

Papel do KWin na falha

O compositor KWin, responsável pelo gerenciamento de janelas no Plasma, confia nos aplicativos para informar seu próprio app_id. Quando não encontra um arquivo .desktop correspondente, KWin utiliza /proc/PID/cmdline como fallback para determinar qual aplicativo abrir. Esse comportamento cria duas condições necessárias para a exploração: a ausência de validação do app_id e a leitura insegura de um campo controlável pelo processo. Qualquer sandbox — Flatpak, Firejail, Bubblewrap ou o próprio sistema de portáteis do Plasma — é vulnerável quando essas duas condições estão presentes.

O desenvolvedor relata que KWin sequer verifica se o binário listado em /proc/PID/cmdline pertence ao sandbox do aplicativo original. A execução acontece diretamente no contexto do usuário hospedeiro, sem nenhuma das restrições que o sandbox impõe ao app em execução normal.

Cronologia da divulgação

  • 1º de abril de 2026: Kimiblock envia relatório detalhado da vulnerabilidade para security@kde.org, descrevendo o mecanismo de sandbox escape via KWin e manipulação de argv0.
  • Abril–junho de 2026: Período de 90 dias de embargo. O pesquisador aguarda correção ou comunicação da equipe de segurança do KDE. Nenhuma resposta é recebida durante todo o período.
  • 2 de julho de 2026: Expirado o prazo de responsabilidade, Kimiblock publica a divulgação completa com prova de conceito funcional. O Phoronix cobre a revelação no mesmo dia.
  • 6 de julho de 2026: Comunidades de segurança como Privacy Guides e EndeavourOS discutem a falha em fóruns. O advisory oficial do KDE permanece inédito.

Versões afetadas

Componente Versões afetadas Status do patch
KDE Plasma (KWin) 6.7.x (todas as subversões) Sem correção disponível
KDE Plasma (KWin) Versões anteriores não testadas Possivelmente afetadas
Aplicativos Flatpak Qualquer app sem .desktop válido Vetor de ataque

Medidas mitigadoras

Enquanto o KDE não publica um advisory oficial e um patch, usuários do Plasma podem adotar as seguintes ações para reduzir o risco:

  • Limitar apps Flatpak a repositórios auditados. A exploração requer um app malicioso instalado. Restringir instalações ao Flathub oficial reduz a superfície de ataque, embora não a elimine — um app legítimo comprometido poderia explorar a mesma falha.
  • Desativar o atalho “Abrir nova janela”. A exploração depende de interação do usuário via clique com o botão do meio na barra de tarefas ou via menu de contexto. Remover esse atalho elimina o gatilho principal.
  • Monitorar processos no cgroup app.slice. Binários executados pela exploração aparecem em app.slice. Ferramentas como systemd-cgls e auditd podem detectar execuções inesperadas fora do contexto do sandbox.
  • Avaliar ambientes alternativos. Usuários com requisitos rigorosos de isolamento podem considerar GNOME ou COSMIC como desktop environment temporário enquanto a falha permanecer sem correção.

Esta vulnerabilidade soma-se a outras falhas recentes de sandbox no ecossistema Linux. Em abril de 2026, o CVE-2026-34078 no Flatpak permitia escape completo do sandbox via manipulação de symlinks no portal sandbox-expose — corrigido na versão 1.16.4. A combinação de falhas na camada do runtime (Flatpak) com falhas na camada do desktop environment (KWin) amplia significativamente o risco para usuários de distribuições Linux que dependem desses mecanismos de isolamento.

Fontes e referências