Linuxカーネンの20年間の開発に関する新たな分析により、バグがしばしば数年間検出されず、発見までの平均寿命が2.1年であることが判明した。PebblebedのJenny Guanni Qu氏による研究は、カーネルコンポーネント間の変動と不完全な修正の蔓延を強調している。一部の脆弱性は20年以上存続した。
オープンソースOSの基盤であるLinuxカーネルも、持続的なバグから逃れられないことが、2026年1月8日に公開された詳細な研究で明らかになった。Pebblebedの研究者Jenny Guanni Qu氏は、2005年4月から2026年1月までの125,183件のバグを、Linuxカーネルバージョン6.19-rc3のデータを使用して調査した。 彼女の手法はgitコミット内の「Fixes:」タグに依存し、これは修正を元の導入コミットにリンクする。カスタムツールがこれらのタグを抽出し、コミット日付に基づいてバグの寿命を計算した。記録のうち119,449件が9,159人の作者によるユニークな修正で、CVE IDが割り当てられたのはわずか158件だった。 主な発見として、バグ検出までの平均時間は2.1年。最長の未検出問題——ネットワーキングコードのバッファオーバーフロー——は20.7年続いた。コンポーネントごとの違いは顕著で、CANバスドライバは平均4.2年、SCTPネットワーキングは4.0年、GPUバグは1.4年、BPFバグは1.1年で検出された。 研究は不完全な修正の多さを指摘している。例えば、2024年のnetfilter setフィールド検証パッチは1年後にセキュリティ研究者によって回避された。これは進歩にもかかわらず続く課題を示しており、同じ日に159件のCコードCVEの中で最近の初Rust CVEなどが挙げられる。 Qu氏はさらに、脆弱性を導入するコミットを予測するAIモデルVulnBERTを開発し、カーネル開発における早期検出の可能性を提供する。