【CVE-2024-50163】LinuxカーネルのBPFリダイレクトフラグ重複問題が修正、クラッシュのリスクを解消
スポンサーリンク
記事の要約
- Linuxカーネルでbpf_redirect_infoの脆弱性を修正
- SKBとXDPリダイレクトパスで同一フラグ値使用による問題
- 重複しないフラグ定義によってクラッシュを防止
スポンサーリンク
LinuxカーネルのBPFリダイレクトフラグの脆弱性【CVE-2024-50163】
kernel.orgは2024年11月7日、LinuxカーネルのBPF(Berkeley Packet Filter)機能において、内部フラグとUAPIフラグの重複による脆弱性を公開した。BF_F_BROADCASTとBPF_F_NEXTHOPが同一の数値を使用していたため、SKBとXDPのリダイレクトパスで混乱が生じてクラッシュする可能性があることが判明している。[1]
この問題は、skb bpf_redirect_neigh()が非NULL引数で使用され、その後同じbpf_redirect_info構造体でXDPリダイレクトが実行された場合に発生する可能性があった。syzbotによってこの問題が検出され、スタック割り当てのbpf_redirect_infoによってSKBとXDPパス間での構造体共有が解消されている。
kernel.orgはこの脆弱性を修正するため、BPF_F_REDIRECT_INTERNALの3つのフラグをXDPで使用されるフラグと重複しないように再定義した。さらに、誤って重複が再導入されることを防ぐためにBUILD_BUG_ON()チェックも追加されている。
LinuxカーネルのBPF脆弱性の修正状況
バージョン | ステータス |
---|---|
5.14以前 | 影響なし |
5.15.170以降 | 修正済み |
6.1.115以降 | 修正済み |
6.6.59以降 | 修正済み |
6.11.6以降 | 修正済み |
6.12以降 | 修正済み |
スポンサーリンク
BPFについて
BPF(Berkeley Packet Filter)とは、Linuxカーネル内でパケットフィルタリングやネットワークの監視を行うための強力な機能だ。主な特徴として、以下のような点が挙げられる。
- カーネル空間でのプログラム実行が可能
- 高性能なパケットフィルタリングを実現
- セキュリティ機能の実装に広く活用
BPFはネットワークパケットの処理において、SKB(Socket Buffer)とXDP(eXpress Data Path)という2つの主要なパスを持っている。SKBはLinuxネットワークスタックの中核的なデータ構造であり、XDPは高性能なパケット処理を実現するための仕組みとなっている。
LinuxカーネルのBPF機能修正に関する考察
今回の脆弱性修正は、BPFの内部実装における重要な問題を解決しただけでなく、将来的な設計の改善にも貢献している。特にBUILD_BUG_ON()チェックの導入は、同様の問題が再発することを防ぐための予防的な対策として評価できるだろう。
しかし、BPFの機能が拡張され続ける中で、内部フラグと外部APIの整合性維持は今後も重要な課題となる。特にパフォーマンスとセキュリティのバランスを取りながら、APIの後方互換性を維持することは開発者にとって大きな課題となるはずだ。
今後はBPFの機能拡張に伴い、より体系的なフラグ管理システムの導入が望まれる。また、自動化されたテストツールによる潜在的な問題の早期発見と、開発者コミュニティによる継続的なコードレビューが、BPFの安定性向上に重要な役割を果たすだろう。
参考サイト
- ^ CVE. 「CVE Record | CVE」. https://www.cve.org/CVERecord?id=CVE-2024-50163, (参照 24-11-27).
※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。
- 【CVE-2024-50300】Linux kernelのregulator rtq2208で未初期化使用の脆弱性を修正、複数バージョンで対策を実施
- 【CVE-2024-50301】Linuxカーネルで発見されたslab-out-of-bounds脆弱性、key_task_permissionの問題に対処完了
- 【CVE-2024-51669】WordPressプラグインDynamic Widgetsにクロスサイトリクエストフォージェリの脆弱性、バージョン1.6.5で修正完了
- 【CVE-2024-52392】WordPress W3SPEEDSTERプラグインにCSRF脆弱性、バージョン7.25以前のユーザーに影響
- 【CVE-2024-52595】lxml_html_cleanにXSS脆弱性、特殊タグでスクリプト実行が可能に
- 【CVE-2024-53043】Linuxカーネルのmctp i2cモジュールにNULLアドレス処理の脆弱性、セキュリティ更新で対処
- 【CVE-2024-53049】Linuxカーネルslub_kunitの警告問題が修正、システムの安定性向上に貢献
- Linux kernelのio_uringに脆弱性、フリーズ処理時のデッドロックリスクが判明
- 【CVE-2024-53053】LinuxカーネルでUFS CoreのRTCアップデート時のデッドロック問題が修正、システムの安定性向上へ
- 【CVE-2024-53056】Linux kernelのmediatekドライバーでNULLポインタ参照の脆弱性が発見され修正完了
スポンサーリンク