Copy Fail, Atomic Arch e o “botão de pânico”: a verdade sobre a alegada crise de segurança do Linux

Nas últimas semanas, uma sucessão de falhas e ataques no ecossistema Linux alimentou títulos alarmistas que anunciam o “fim do mito” da segurança do sistema e uma “crise sem precedentes”. A realidade é mais matizada — e mais interessante. Entre abril e junho de 2026 aconteceram, de facto, três coisas concretas e bem documentadas: um ataque à cadeia de fornecimento no repositório comunitário do Arch Linux, duas vulnerabilidades graves no kernel que permitem a elevação de privilégios até root, e uma proposta polémica para dotar o kernel de um “botão de pânico”. Nenhuma delas transforma o Linux, de um dia para o outro, num sistema inseguro — mas todas merecem ser compreendidas com rigor. Reunimos o que se sabe, a partir das fontes primárias.

Atomic Arch: um ataque à cadeia de fornecimento — não ao kernel

A 11 de junho de 2026, investigadores da Sonatype divulgaram uma campanha a que chamaram Atomic Arch, dirigida ao Arch User Repository (AUR) — a coleção de pacotes mantida pela comunidade do Arch Linux, e não pelos repositórios oficiais da distribuição. Os atacantes exploraram um mecanismo legítimo do AUR: quando um mantenedor abandona um pacote, qualquer utilizador pode “adotá-lo”, herdando o seu nome, histórico e reputação. Foi exatamente isso que fizeram, de forma sistemática, a centenas de pacotes órfãos mas ainda populares.

Uma vez no controlo, os atacantes não alteraram o código dos programas — modificaram apenas as instruções de compilação (o ficheiro PKGBUILD e os scripts de instalação), fazendo com que, durante a instalação, fosse descarregado e executado um pacote npm malicioso (atomic-lockfile e, numa segunda vaga, js-digest). Esse pacote carregava um infostealer escrito em Rust que, quando corria com privilégios elevados, instalava ainda um rootkit baseado em eBPF para se esconder ao nível do kernel. O alvo eram as credenciais de programadores e de ambientes de integração contínua (CI): chaves SSH, tokens do GitHub e do npm, chaves de cloud e sessões de browser, exfiltradas através da rede Tor.

A escala foi assinalável: as primeiras contagens apontavam para mais de 400 pacotes, mas as listas consolidadas pela comunidade acabaram por enumerar perto de 2000 nomes afetados. A Sonatype atribuiu ao incidente o identificador Sonatype-2026-003775 (CVSS 8.7); não foi emitido qualquer CVE. Há, porém, um ponto que a cobertura mais sensacionalista tende a omitir e que é decisivo: os repositórios oficiais do Arch Linux não foram afetados. O ataque limitou-se ao AUR, que a própria comunidade identifica como conteúdo a usar “por sua conta e risco”. Os mantenedores do Arch reverteram os commits maliciosos e bloquearam as contas envolvidas — uma das quais se fez passar por um mantenedor legítimo através da falsificação de metadados de commits.

Ou seja: não estamos perante uma falha do Linux, mas perante um ataque ao modelo de confiança de um repositório comunitário — o mesmo padrão de risco que existe no npm, no PyPI ou em qualquer ecossistema aberto onde seja possível adotar projetos abandonados.

Copy Fail (CVE-2026-31431): quatro bytes para chegar a root

A vulnerabilidade que mais impressiona pela elegância técnica foi divulgada a 29 de abril de 2026 pela equipa da Theori e batizada de Copy Fail (CVE-2026-31431, CVSS 7.8). Reside no módulo algif_aead da interface AF_ALG — a API de criptografia do kernel acessível a partir do espaço do utilizador — e tem origem numa otimização introduzida em 2017. Encadeando um socket AF_ALG com a system call splice(), um utilizador local sem privilégios consegue escrever quatro bytes controlados na page cache de qualquer ficheiro legível. Ao apontar esses quatro bytes para um binário setuid como o /usr/bin/su, o atacante altera a cópia do programa em memória e obtém uma shell com privilégios de root.

Vários fatores tornam esta falha notável: é determinística (não depende de race conditions, ao contrário do histórico Dirty Cow), cabe num script Python de apenas 732 bytes, funciona sem alterações na esmagadora maioria das distribuições com kernels compilados entre 2017 e a correção, e não deixa rasto no disco — a manipulação ocorre apenas em memória. Afeta o Ubuntu, o Debian, o RHEL, o SUSE, o Amazon Linux e o AlmaLinux, entre outros (o Ubuntu 26.04 “Resolute” não é afetado). A correção definitiva reverte a otimização de 2017.

É importante enquadrar o risco: trata-se de uma elevação de privilégios local, o que significa que o atacante precisa de já ter acesso à máquina (por exemplo, uma conta comprometida, um runner de CI ou um contentor). Não é explorável remotamente por si só. Ainda assim, o impacto é sério em ambientes partilhados: como a page cache é comum ao anfitrião e aos contentores, a falha viabiliza cenários de fuga de contentores e de comprometimento de nós Kubernetes. A CISA acrescentou-a ao seu catálogo de vulnerabilidades ativamente exploradas. Enquanto o kernel não é atualizado, as mitigações passam por bloquear a criação de sockets AF_ALG (via seccomp, AppArmor ou eBPF) ou desativar o módulo algif_aead.

Dirty Frag: a segunda falha no kernel

Poucos dias depois, a 7 de maio, foi divulgada uma segunda elevação de privilégios, apelidada de Dirty Frag, que combina duas vulnerabilidades — uma no subsistema IPsec ESP (CVE-2026-43284) e outra no protocolo de rede RxRPC (CVE-2026-43500). Tal como a Copy Fail, explora a escrita indevida em páginas de memória para chegar a root e conta com uma prova de conceito pública. É esta sequência de duas falhas graves divulgadas antes de existirem correções generalizadas que ajuda a explicar o clima de urgência — e a proposta que se segue.

O “botão de pânico”: uma proposta ainda por aprovar

O tal “botão de pânico” mencionado em várias notícias é, na verdade, uma proposta apresentada por Sasha Levin — engenheiro da NVIDIA e co-mantenedor das árvores estáveis e de suporte de longo prazo do kernel — na mailing list de desenvolvimento do Linux. O mecanismo, designado killswitch, permitiria a um administrador indicar ao kernel o nome de uma função vulnerável e um valor de retorno; a partir daí, essa função devolveria um erro em vez de ser executada, neutralizando a falha de imediato, em todos os núcleos e sem reiniciar o sistema. A ativação, feita através da interface securityfs, exige privilégios de root e mantém-se até ser desativada ou até ao arranque seguinte; existe ainda uma variante por parâmetro de arranque, para aplicar a mitigação a toda uma frota de máquinas.

Há três pontos que convém esclarecer, porque a cobertura mais apressada tende a confundi-los. Primeiro, não é uma correção nem um live patch: apenas mitiga o risco, e a atualização do kernel continua a ser indispensável. Segundo, ativá-lo “suja” o kernel (é marcada uma flag de taint), sinalizando aos mantenedores que a imagem foi alterada. Terceiro, e mais importante: é apenas uma proposta — não foi integrada no kernel nem existe em qualquer versão distribuída. As candidatas naturais seriam módulos que muitas instalações ativam sem chegar a usar, como o AF_ALG, o ksmbd, o nftables, o vsock ou o ax25.

A ideia dividiu a comunidade. Há quem a considere um pragmático “quebrar o vidro em caso de emergência” para o intervalo entre a divulgação de uma falha e a aplicação do patch; e há quem a veja como perigosa, receando que sirva de desculpa para não corrigir e alertando para o risco de uma negação de serviço autoinfligida caso se desative a função errada. Do lado do apoio, a Red Hat manifestou-se favorável, invocando precisamente o aumento do ritmo e da gravidade das explorações.

O verdadeiro fio condutor: a IA acelera a descoberta de falhas

Se há um elemento genuinamente novo nesta série de acontecimentos, não é a fragilidade do Linux — é a velocidade. A Copy Fail foi encontrada em cerca de uma hora com recurso a ferramentas de análise de código assistidas por inteligência artificial; há mantenedores a correr fuzzers apoiados por IA que estão a expor novas falhas no kernel; e a própria proposta do “botão de pânico” foi redigida com assistência de IA. A leitura de fundo é que a IA está a acelerar a descoberta de vulnerabilidades em todo o software, e não apenas no Linux — com a particularidade de que, no código aberto, essa análise (por defensores e por atacantes) é pública e imediata. É uma faca de dois gumes: as falhas aparecem mais depressa, mas também são corrigidas mais depressa.

Afinal, há uma “crise sem precedentes”?

A resposta honesta é: há motivos legítimos de preocupação, mas não um colapso. As duas falhas do kernel são graves, mas são elevações de privilégios locais — exigem um pé dentro do sistema — e já têm correção. O ataque ao AUR foi sério, mas circunscreveu-se a um repositório comunitário com avisos explícitos, sem tocar nos canais oficiais. E o “botão de pânico” é uma discussão de engenharia saudável, não um sinal de desespero. O que mudou, de facto, foi o ritmo a que as falhas são descobertas e exploradas. Como recordam os próprios profissionais, todos os sistemas operativos têm vulnerabilidades; a transparência do Linux é, historicamente, aquilo que permite corrigi-las depressa.

Porque é que isto importa para Portugal

Para as organizações nacionais, a leitura é prática. O Regime Jurídico da Cibersegurança (que transpõe a diretiva NIS2) torna a segurança da cadeia de fornecimento e a gestão de vulnerabilidades obrigações explícitas — e estes três casos tocam exatamente nesses pontos. Para quem opera servidores Linux, ambientes de CI/CD ou postos de trabalho de programadores, as prioridades imediatas são claras: atualizar os kernels assim que as distribuições publicarem as correções (dando prioridade a nós Kubernetes e runners de CI); inventariar o uso de pacotes comunitários como os do AUR e, em caso de exposição, rodar todas as credenciais que possam ter sido comprometidas; aplicar as mitigações disponíveis enquanto se aguarda a correção; e reforçar a monitorização de comportamentos anómalos, como a elevação inesperada de privilégios ou o carregamento suspeito de módulos do kernel.

Esta informação tem caráter noticioso e baseia-se em investigação e avisos divulgados publicamente pela Sonatype, pela Theori, pela CERT-EU e na proposta apresentada na lista de desenvolvimento do kernel Linux, entre outras fontes.