Nebula Securityは、2011年以降のすべての主要ディストリビューションに影響を及ぼすLinuxカーネルの脆弱性を対象とした技術情報とエクスプロイトコードを公開しました。
CVE-2026-43499として追跡され、GhostLockと呼ばれるこのセキュリティ上の欠陥は、Linux 2.6.39で作り込まれ、4月にパッチが公開されるまで15年間もカーネル内に潜んでいました。
GhostLockは、緊急タスクを優先処理するカーネルの仕組みの一環として、タスク終了後のクリーンアップ用に設計されたヘルパー関数に起因するuse-after-free(解放済みメモリ使用)の問題です。
通常であれば、このクリーンアップ関数は現在のタスクをクリアします。しかし、このセキュリティ上の欠陥により、デッドロックが発生してロールバックが起きた際、当該関数は別のタスクからそのメモリへのポインタが存在している状態のまま、メモリをクリアして再利用してしまいます。
この問題が生じるのは、関数が「現在のタスクこそがクリアすべき対象である」と想定しているためです。ところが、requeue(再キュー登録)が要求された場合、関数は現在のタスクではなく、スリープ状態のスレッドの代わりにクリーンアップ処理を行ってしまいます。
Nebula Securityによると、同社はこの脆弱性を悪用し、誤って解放されたメモリを制御することで、ローカル権限昇格によりroot権限を奪取できたとしています。
さらに同社は、GoogleのkernelCTFプログラムにおいて、このセキュリティ上の欠陥をコンテナエスケープに悪用できることも実証し、9万2337ドルのバグ報奨金を獲得しました。
GhostLockは、ここ数カ月の間に公開されてきた一連のLinuxカーネルの欠陥の中でも最新のものです。これまでに公開されたものとしては、Januscape、Bad Epoll、DirtyClone、CIFSwitch、DirtyDecrypt(別名DirtyCBC)、Fragnesia、そしてDirty Fragなどが挙げられます。