【CVE-2024-56675】Linuxカーネルのbpf_prog関連UAF脆弱性が修正、複数バージョンに影響
スポンサーリンク
記事の要約
- Linuxカーネルの新たなUAF脆弱性が修正
- bpf_progとアタッチメントのRCUフレーバーの不一致が原因
- Linux 6.0以降の複数バージョンに影響
スポンサーリンク
Linuxカーネルのbpf_prog関連脆弱性が修正
Linuxカーネルにおいて、bpf_progとアタッチメントのRCUフレーバーの不一致によるUAF(Use-After-Free)脆弱性が2024年12月27日に修正された。Uprobesがtasks-trace-RCU保護下でbpf_prog_run_array_uprobe()を使用する一方で、非スリープ可能なBPFプログラムをUprobeにアタッチすることが可能であることが原因となっている。[1]
非スリープ可能なBPFプログラムは通常のRCUを介して解放されるため、通常のRCU猶予期間がtasks-trace-RCUの猶予期間を意味しないことからUAFが発生する可能性があった。perf_eventへのbpf_progのアタッチメントを削除した後にtasks-trace-RCUの猶予期間を明示的に待機することで問題を解決している。
この脆弱性の影響を受けるLinuxバージョンは、コミット8c7dcb84e3b744b2b70baa7a44a9b1881c33a9c9以降から9245459a992d22fe0e92e988f49db1fec82c184a以前のものが該当する。影響を受けない範囲として、Linux 6.1.121以降のLinux 6.1系、Linux 6.6.67以降のLinux 6.6系、Linux 6.12.6以降のLinux 6.12系などが挙げられる。
Linuxカーネルの脆弱性対策まとめ
項目 | 詳細 |
---|---|
公開日 | 2024年12月27日 |
影響を受けるバージョン | Linux 6.0以降の特定バージョン |
脆弱性の種類 | Use-After-Free (UAF) |
原因 | bpf_progとアタッチメントのRCUフレーバーの不一致 |
修正方法 | tasks-trace-RCU猶予期間の明示的待機を追加 |
スポンサーリンク
Use-After-Free (UAF)について
Use-After-Free (UAF)とは、既に解放されたメモリ領域にアクセスしようとする際に発生する脆弱性のことを指す。主な特徴として、以下のような点が挙げられる。
- メモリが解放された後も参照が残り続ける状態で発生
- システムのクラッシュや任意のコード実行につながる可能性
- メモリ管理の不適切な実装により引き起こされる
Linuxカーネルにおける今回のUAF脆弱性は、異なるRCUフレーバー間での同期の問題により発生している。非スリープ可能なBPFプログラムが通常のRCUを介して解放される一方で、Uprobesがtasks-trace-RCU保護下で動作することにより、メモリ解放のタイミングにずれが生じる可能性があるのだ。
Linuxカーネルのbpf_prog関連脆弱性に関する考察
Linuxカーネルのセキュリティチームが迅速に対応し、明確な修正方法を提示したことは高く評価できる。特にtasks-trace-RCU猶予期間の明示的な待機を追加することで、異なるRCUフレーバー間の同期問題を効果的に解決している点は、今後の同様の問題に対する参考となるだろう。
しかし、今後もBPFプログラムの複雑化や新機能の追加に伴い、同様のメモリ管理に関する問題が発生する可能性は否定できない。特にRCUのような並行処理メカニズムを使用する場合、異なる保護機構間の相互作用を慎重に考慮する必要があるだろう。
Linuxカーネルコミュニティには、このような脆弱性の早期発見と修正を継続的に行える体制の維持が求められる。特にセキュリティ関連の変更については、より厳密なコードレビューとテストが必要となるかもしれない。
参考サイト
- ^ CVE. 「CVE-2024-56675 | CVE」. https://www.cve.org/CVERecord?id=CVE-2024-56675, (参照 25-01-11).
※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。
- 【CVE-2024-56710】Linuxカーネルのcephモジュールでメモリリーク脆弱性、6.6系と6.12系で修正パッチを提供
- 【CVE-2024-56674】Linux kernelのvirtio-netモジュールに重大な脆弱性、BQLクラッシュの問題が解決へ
- 【CVE-2024-56673】Linux kernelのRISC-V実装におけるvmemmapページテーブル解放処理の脆弱性が発見、カーネルパニックのリスクに注意
- 【CVE-2024-56672】Linuxカーネルのblk-cgroupにUse-After-Free脆弱性、複数バージョンで修正パッチを提供
- Linux kernelのgraniterapids vGPIOドライバでクラッシュ問題を修正、システムの安定性向上へ
- 【CVE-2024-56669】Linux kernelのiommu/vt-dドライバにキャッシュタグ処理の脆弱性、メモリリークとカーネルクラッシュのリスクに対処
- 【CVE-2024-56668】LinuxカーネルのVT-d IOMMUにNULLポインタの脆弱性、メモリリークの危険性も指摘
- 【CVE-2024-56666】Linuxカーネルのdrm/amdkfdモジュールにnullポインタ参照の脆弱性、早急な対応が必要に
- 【CVE-2024-56665】Linuxカーネルのperf_event_detach_bpf_progに深刻な脆弱性、複数バージョンで修正リリース
スポンサーリンク