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.
O kernel do Linux, alicerce dos sistemas operativos de código aberto, não é imune a bugs persistentes, de acordo com um estudo detalhado publicado em 8 de janeiro de 2026. Jenny Guanni Qu, investigadora na Pebblebed, analisou 125.183 bugs abrangendo de abril de 2005 a janeiro de 2026, utilizando dados da versão 6.19-rc3 do kernel do Linux. A sua metodologia baseou-se na etiqueta 'Fixes:' nos commits do git, que liga as correções aos commits originais que as introduziram. Uma ferramenta personalizada extraiu estas etiquetas, calculando as durações de vida dos bugs com base nas datas dos commits. Dos registos, 119.449 eram correções únicas de 9.159 autores, com apenas 158 atribuídos IDs CVE. As principais conclusões incluem um tempo médio de deteção de bugs de 2,1 anos. O problema não detetado mais longo — um overflow de buffer no código de rede — durou 20,7 anos. As variações por componente são acentuadas: drivers de bus CAN em média 4,2 anos, rede SCTP 4,0 anos, enquanto bugs de GPU foram apanhados em 1,4 anos e bugs de BPF em 1,1 anos. O estudo também nota correções incompletas comuns. Por exemplo, um patch de validação de campo set do netfilter de 2024 foi contornado um ano depois por um investigador de segurança. Isto sublinha os desafios contínuos apesar do progresso, como o recente primeiro CVE do Rust entre 159 CVEs de código C no mesmo dia. Qu desenvolveu ainda o VulnBERT, um modelo de IA para prever commits que introduzem vulnerabilidades, oferecendo potencial para deteção mais precoce no desenvolvimento do kernel.