En säkerhetsforskare har upptäckt att buggar i Linuxkärnan ofta förblir oupptäckta i mer än två år i genomsnitt, med vissa som kvarstår i över två decennier. Genom att analysera 20 år av kärnutveckling har Jenny Guanni Qu avslöjat hur dessa fel tyst påverkar molnsystem, företag och miljarder enheter. Hennes arbete belyser utmaningarna med att upprätthålla säker open source-programvara.
Linuxsäkerhetsutvecklaren Jenny Guanni Qu har avslöjat att sårbarheter i Linuxkärnan kan ligga dolda under långa perioder och utgöra betydande risker för utbredda system. I en omfattande studie granskade hon två decennier av Linuxkärnans utveckling och recenserade 125 000 buggfix-kommittar. Analysen visade att den genomsnittliga buggen förblir dold lite över två år, även om många varar mycket längre – vissa över 20 år. Ett slående exempel är en nätverksbugg introducerad 2006 och fixad först 2025, nästan 19 år senare. Problemet, en referensräkneläckage i netfilter-undsystemet, kom från en commit avsedd att lösa ett deadlock. «Ironin: Commit d205dc40798d var självt en fix: '[NETFILTER]: ctnetlink: fix deadlock in table dumping'. Patrick McHardy fixade ett deadlock genom att ta bort en _put()-anrop. Genom att göra det introducerade han ett refcount-läckage som skulle kvarstå i 19 år», förklarade Qu. Buggen orsakade långsamma minnesläckor under specifika förhållanden, vilket fick drabbade system att verka stabila i åratal innan de försämrades under belastning. Qus forskning pekar på varför sådana långlivade buggar är svåra att upptäcka. Äldre kärndelar från tidigt 2000-tal ses sällan förändringar eller recensioner. Partiella fixar hanterar ofta symptom utan att angripa grundorsaker, vilket låter utnyttjanden överleva. Race conditions, referensräknesfel och minneslivscykelproblem är särskilt svåra att fånga. Trots Linux open source-modell som inbjuder till granskning kvarstår ett backlog av gamla fel. Ur en angripare synvinkel erbjuder dessa buggar kraftfulla vektorer som påverkar delad kod över distributioner. När en sårbarhet får ett CVE har den möjligen utnyttjats i åratal. För att bekämpa detta utvecklade Qu VulnBERT, en maskininlärningsmodell som skannar kodändringar efter sårbarheter. I tester upptäckte den över 90 % av problematiska kommittar med låga falska positiva, inklusive 19-årsbuggen. «VulnBERT är ett triage-verktyg, ingen garanti. Det fångar 92 % av buggar med igenkännbara mönster. Resterande 8 % och nya buggklasser behöver fortfarande mänsklig granskning och fuzzing», noterade hon. Nyare kärnor gynnas av snabbare fixar, men pågående upptäckter i legacy-kod understryker behovet av vaksam underhåll. Företag bör prioritera kärnuppdateringar, eftersom dessa fel kan möjliggöra fulla systemkomprometteringar i avancerade attacker.