概要
Linuxカーネルのkthread(カーネルスレッド)サブシステムに解放後使用(use-after-free)の脆弱性があります(CWE-416)。
make_task_dead()を通じてkthreadが終了する際、kthread_exit()をバイパスするためaffinity_nodeのクリーンアップが行われません。その結果、グローバルなkthread_affinity_listにノードが残ったまま、メモリが解放されます。後続の別kthreadによるlist_del()呼び出し時に、このダングリングポインタを通じて解放・再利用済みのメモリへの書き込みが発生し、PIDのrcu.funcポインタが破壊される可能性があります。
この問題は、struct pidのrhash_head化によりサイズが144バイトに縮小し、struct kthreadと同一のslabキャッシュを共有するようになったことで顕在化しました。
CVSSベクトル
| 項目 | 値 |
|---|---|
| スコア | 9.8 (CRITICAL) |
| 攻撃経路 (AV) | ネットワーク (N) |
| 攻撃の複雑さ (AC) | 低 (L) |
| 必要な権限 (PR) | 不要 (N) |
| ユーザー関与 (UI) | 不要 (N) |
| CWE | CWE-416(解放後使用) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| Linux カーネル | Linux kernel | 特定バージョン(パッチ未適用のもの) |
修正バージョンと回避策
安定版カーネルへのパッチが提供されています。使用しているLinuxディストリビューションのセキュリティアップデートを確認してください。
推奨アクション:
- 使用しているカーネルバージョンを確認する(
uname -r) - ディストリビューションのセキュリティアドバイザリを確認する(RHEL, Ubuntu, Debian等)
- 利用可能なカーネルセキュリティアップデートを適用する
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
