Bugs do kernel Linux podem se esconder por até 20 anos

Uma pesquisadora em segurança descobriu que bugs no kernel Linux frequentemente permanecem indetectados por mais de dois anos em média, com alguns persistindo por mais de duas décadas. Ao analisar 20 anos de desenvolvimento do kernel, Jenny Guanni Qu revelou como esses defeitos afetam silenciosamente sistemas em nuvem, empresas e bilhões de dispositivos. Seu trabalho destaca os desafios de manter software open source seguro.

A desenvolvedora de segurança Linux Jenny Guanni Qu revelou que vulnerabilidades no kernel Linux podem permanecer ocultas por períodos prolongados, representando riscos significativos para sistemas amplamente utilizados. Em um estudo abrangente, ela examinou duas décadas de desenvolvimento do kernel Linux, revisando 125.000 commits de correção de bugs. A análise mostrou que o bug médio permanece escondido por pouco mais de dois anos, embora muitos durem muito mais — alguns excedendo 20 anos. Um exemplo impressionante é um bug de rede introduzido em 2006 e corrigido apenas em 2025, quase 19 anos depois. Esse problema, um vazamento de contagem de referências no subsistema netfilter, originou-se de um commit destinado a resolver um deadlock. «A ironia: o commit d205dc40798d era ele mesmo uma correção: '[NETFILTER]: ctnetlink: fix deadlock in table dumping'. Patrick McHardy estava corrigindo um deadlock removendo uma chamada _put(). Ao fazer isso, ele introduziu um vazamento de refcount que persistiria por 19 anos», explicou Qu. O bug causava vazamentos de memória lentos sob condições específicas, permitindo que sistemas afetados parecessem estáveis por anos antes de degradarem sob carga. A pesquisa de Qu aponta por que tais bugs de longa duração são difíceis de detectar. Seções mais antigas do kernel, datadas do início dos anos 2000, raramente recebem mudanças ou revisões. Correções parciais frequentemente abordam sintomas sem tratar causas raiz, permitindo que exploits sobrevivam. Condições de corrida, erros de contagem de referências e problemas de ciclo de vida da memória são especialmente evasivos. Apesar do modelo open source do Linux, que convida ao escrutínio, permanece um backlog de falhas antigas. Do ponto de vista de um atacante, esses bugs oferecem vetores poderosos, afetando código compartilhado entre distribuições. Quando uma vulnerabilidade ganha um CVE, ela pode ter sido explorada por anos. Para combater isso, Qu desenvolveu o VulnBERT, um modelo de aprendizado de máquina que escaneia mudanças de código em busca de vulnerabilidades. Em testes, detectou mais de 90% dos commits problemáticos com baixos falsos positivos, incluindo o bug de 19 anos. «O VulnBERT é uma ferramenta de triagem, não uma garantia. Ele captura 92% dos bugs com padrões reconhecíveis. Os 8% restantes e classes de bugs noves ainda precisam de revisão humana e fuzzing», observou ela. Kernels mais novos se beneficiam de correções mais rápidas, mas descobertas contínuas em código legado destacam a necessidade de manutenção vigilante. Empresas devem priorizar atualizações do kernel, pois esses defeitos podem permitir compromissos completos do sistema em ataques avançados.

Artigos relacionados

Illustration of Linus Torvalds announcing Linux kernel 6.18 LTS release with Tux penguin, kernel code, and feature icons in a conference setting.
Imagem gerada por IA

Linux kernel 6.18 released as long-term support version

Reportado por IA Imagem gerada por IA

Linus Torvalds announced Linux kernel 6.18 on the last Sunday of November 2025, marking the final release of the year. The kernel has been officially designated as a long-term support version, with maintenance promised until December 2027. It includes various hardware improvements, file system enhancements, and new features like the Rust Binder driver.

Uma nova análise de 20 anos de desenvolvimento do kernel do Linux revela que os bugs frequentemente permanecem indetetados durante anos, com uma duração média de 2,1 anos antes da descoberta. A pesquisa, conduzida por Jenny Guanni Qu da Pebblebed, destaca variações entre componentes do kernel e a prevalência de correções incompletas. Algumas vulnerabilidades persistiram por mais de duas décadas.

Reportado por IA

Sistemas Linux enfrentam riscos significativos de vulnerabilidades não corrigidas, desafiando a noção de sua segurança inerente. Especialistas enfatizam a necessidade de gerenciamento automatizado de patches para proteger empresas de código aberto de forma eficaz.

Uma vulnerabilidade crítica na ferramenta de gestão de energia TLP para Linux foi corrigida após investigadores descobrirem que permitia a atacantes locais contornar a autenticação e alterar definições do sistema. A falha, identificada na versão 1.9.0 e registada como CVE-2025-67859, resultava de uma condição de corrida no mecanismo Polkit. Os developers do TLP lançaram a versão 1.9.1 a 7 de janeiro de 2026, abordando o problema após divulgação coordenada.

Reportado por IA

Num desenvolvimento notável após o papel crescente do Rust no kernel Linux —incluindo a reescrita nativa do Binder IPC para Android—, foi reportada a primeira vulnerabilidade no código Rust do kernel: uma condição de corrida no driver Binder do Android que afeta o kernel 6.18+.

Após melhorias de desempenho no Linux 6.19, os desenvolvedores planejam aprimoramentos adicionais para placas gráficas AMD mais antigas, com atualizações chegando ao longo de 2026 para garantir compatibilidade de longo prazo em ambientes de código aberto.

Reportado por IA

A comunidade de desenvolvedores Linux passou de debater o papel da IA para integrá-la nos processos de engenharia do kernel. Desenvolvedores agora usam IA para manutenção de projetos, embora persistan perguntas sobre escrever código com ela. Preocupações com direitos autorais e licenças open-source permanecem.

 

 

 

Este site usa cookies

Usamos cookies para análise para melhorar nosso site. Leia nossa política de privacidade para mais informações.
Recusar