公開:

【CVE-2024-50133】LinuxカーネルのLoongArchにおけるvDSOポインタクラッシュの脆弱性を修正、複数バージョンでアップデートが必要に

text: XEXEQ編集部
(記事は執筆時の情報に基づいており、現在では異なる場合があります)


記事の要約

  • Linuxカーネルでvdsoポインタがクラッシュする脆弱性を発見
  • stack_top()関数でNULLポインタ参照によるクラッシュが発生
  • 複数のバージョンに影響するセキュリティ修正をリリース

Linuxカーネル5.19-6.11におけるLoongArchの脆弱性

Linuxカーネルにおいて、LoongArchアーキテクチャのstack_top()関数でvDSOポインタを参照する際にクラッシュする脆弱性【CVE-2024-50133】が2024年11月5日に公開された。特にkthreadなどvDSOがマッピングされていないタスクでstack_top()関数を呼び出した際にNULLポインタを参照してしまい、システムがクラッシュする重大な問題が発見されている。[1]

この脆弱性は複数のLinuxカーネルバージョンに影響を与えており、特にバージョン5.19から6.11の間で発生することが確認されている。kunitによるテスト実行時にstack_top()関数からarch_pick_mmap_layoutを経由してクラッシュが発生するケースが報告され、システムの安定性に深刻な影響を及ぼす可能性がある。

Linuxカーネル開発チームは本脆弱性に対する修正パッチを複数のバージョン向けにリリースしており、特に長期サポート版であるバージョン6.1.115以降、6.6.59以降、6.11.6以降で修正が適用されている。早急なアップデートによってシステムの安定性と信頼性を確保することが推奨される。

Linuxカーネルのバージョン別影響範囲まとめ

項目 詳細
影響を受けるバージョン 5.19以降の全バージョン
修正済みバージョン 6.1.115以降、6.6.59以降、6.11.6以降
脆弱性の種類 NULLポインタ参照によるクラッシュ
影響を受ける機能 stack_top()関数、arch_pick_mmap_layout関数
発見された経緯 kunitテスト実行時のクラッシュ報告

vDSOについて

vDSOとは「virtual dynamic shared object」の略称で、カーネルが提供する仮想的な共有ライブラリのことを指している。主な特徴として以下のような点が挙げられる。

  • システムコールのオーバーヘッドを削減する最適化機能
  • ユーザー空間からカーネル機能を直接利用可能
  • 時刻取得などの高頻度な操作を効率化

vDSOはすべてのプロセスでマッピングされているわけではなく、特にkthreadのようなカーネルスレッドではマッピングされていない。stack_top()関数でvDSOポインタを参照する際にNULLチェックを行わないと、システムクラッシュを引き起こす可能性がある。

Linuxカーネルの脆弱性対応に関する考察

LinuxカーネルのLoongArchアーキテクチャにおける今回の脆弱性は、システムの基盤部分に関わる重要な問題を提起している。特にkthreadなどの特殊なタスク処理において、vDSOのポインタ参照の安全性確保が十分でなかったことは、アーキテクチャ設計における堅牢性の重要性を改めて示している。

今後は同様の問題を未然に防ぐため、新しいアーキテクチャのサポート追加時におけるセキュリティテストの強化が求められる。特にNULLポインタ参照のような基本的なメモリ安全性に関する問題は、より網羅的なテストケースの設計とkunitなどのテストフレームワークの活用によって検出可能だろう。

また、長期的な視点では、アーキテクチャ固有の機能実装における標準的なセキュリティガイドラインの整備が重要となる。特にメモリ管理やポインタ操作に関する部分は、新規アーキテクチャのサポート追加時に特に注意が必要な領域として、より厳格なコードレビューとセキュリティ検証プロセスの確立が望まれる。

参考サイト

  1. ^ CVE. 「CVE Record | CVE」. https://www.cve.org/CVERecord?id=CVE-2024-50133, (参照 24-11-13).

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「セキュリティ」に関するコラム一覧「セキュリティ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。