Une chercheuse en sécurité a découvert que les bugs dans le noyau Linux restent souvent indétectés pendant plus de deux ans en moyenne, certains persistant plus de deux décennies. En analysant 20 ans de développement du noyau, Jenny Guanni Qu a mis en lumière comment ces failles affectent discrètement les systèmes cloud, les entreprises et des milliards d'appareils. Son travail souligne les défis du maintien de logiciels open source sécurisés.
La développeuse sécurité Linux Jenny Guanni Qu a révélé que les vulnérabilités dans le noyau Linux peuvent rester indétectées pendant de longues périodes, posant des risques importants pour les systèmes largement déployés. Dans une étude complète, elle a examiné deux décennies de développement du noyau Linux, en revoyant 125 000 commits de correction de bugs. L'analyse a montré que le bug moyen reste caché un peu plus de deux ans, bien que beaucoup durent bien plus longtemps — certains dépassant 20 ans. Un exemple frappant est un bug réseau introduit en 2006 et corrigé seulement en 2025, près de 19 ans plus tard. Ce problème, une fuite de compteur de références dans le sous-système netfilter, provenait d'un commit destiné à résoudre un deadlock. «L'ironie : le commit d205dc40798d était lui-même une correction : '[NETFILTER] : ctnetlink : fix deadlock in table dumping'. Patrick McHardy corrigeait un deadlock en supprimant un appel _put(). Ce faisant, il a introduit une fuite refcount qui persisterait 19 ans», a expliqué Qu. Le bug causait des fuites mémoire lentes sous conditions spécifiques, permettant aux systèmes affectés de sembler stables pendant des années avant de se dégrader sous charge. La recherche de Qu explique pourquoi de tels bugs à longue durée de vie sont difficiles à détecter. Les sections plus anciennes du noyau, datant du début des années 2000, reçoivent rarement des changements ou des revues. Les correctifs partiels traitent souvent les symptômes sans s'attaquer aux causes racines, laissant les exploits survivre. Les conditions de course, erreurs de compteur de références et problèmes de cycle de vie mémoire sont particulièrement insaisissables. Malgré le modèle open source de Linux qui invite à l'examen, un arriéré de failles anciennes persiste. Du point de vue d'un attaquant, ces bugs offrent des vecteurs puissants, affectant le code partagé entre distributions. Au moment où une vulnérabilité obtient un CVE, elle a pu être exploitée pendant des années. Pour y remédier, Qu a développé VulnBERT, un modèle d'apprentissage automatique qui scanne les changements de code pour détecter les vulnérabilités. Dans les tests, il a détecté plus de 90 % des commits problématiques avec peu de faux positifs, y compris le bug de 19 ans. «VulnBERT est un outil de tri, pas une garantie. Il capture 92 % des bugs avec des motifs reconnaissables. Les 8 % restants et les nouvelles classes de bugs nécessitent encore une revue humaine et du fuzzing», a-t-elle noté. Les noyaux plus récents bénéficient de corrections plus rapides, mais les découvertes continues dans le code legacy soulignent la nécessité d'une maintenance vigilante. Les entreprises doivent prioriser les mises à jour du noyau, car ces failles peuvent permettre des compromissions totales du système dans des attaques avancées.