Un nuevo análisis de 20 años de desarrollo del kernel de Linux revela que los bugs a menudo permanecen sin detectar durante años, con una vida media de 2,1 años antes de su descubrimiento. La investigación, realizada por Jenny Guanni Qu de Pebblebed, destaca variaciones entre componentes del kernel y la prevalencia de correcciones incompletas. Algunas vulnerabilidades persistieron durante más de dos décadas.
El kernel de Linux, pilar fundamental de los sistemas operativos de código abierto, no es inmune a los bugs persistentes, según un estudio detallado publicado el 8 de enero de 2026. Jenny Guanni Qu, investigadora en Pebblebed, examinó 125.183 bugs que abarcan desde abril de 2005 hasta enero de 2026, utilizando datos de la versión 6.19-rc3 del kernel de Linux. Su metodología se basó en la etiqueta 'Fixes:' en los commits de git, que vincula las correcciones a los commits originales que las introdujeron. Una herramienta personalizada extrajo estas etiquetas, calculando la duración de vida de los bugs en base a las fechas de los commits. De los registros, 119.449 fueron correcciones únicas de 9.159 autores, con solo 158 asignados IDs CVE. Los hallazgos clave incluyen un tiempo promedio de detección de bugs de 2,1 años. El problema no detectado más largo —un desbordamiento de búfer en código de red— duró 20,7 años. Las variaciones por componentes son notables: los controladores CAN bus promediaron 4,2 años, SCTP networking 4,0 años, mientras que los bugs de GPU se detectaron en 1,4 años y los de BPF en 1,1 años. El estudio también señala correcciones incompletas comunes. Por ejemplo, un parche de validación de campo set de netfilter de 2024 fue eludido un año después por un investigador de seguridad. Esto subraya los desafíos continuos a pesar del progreso, como el reciente primer CVE de Rust en medio de 159 CVEs de código C el mismo día. Qu desarrolló además VulnBERT, un modelo de IA para predecir commits que introducen vulnerabilidades, ofreciendo potencial para detección más temprana en el desarrollo del kernel.