公開:

【CVE-2024-50208】Linux kernelのRDMAドライバにメモリ破損の脆弱性、256K超のPBLエントリで問題発生

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


記事の要約

  • Linuxカーネルにおけるメモリ破損の脆弱性が発見
  • Level-2 PBLページ設定時のバグを修正
  • 256K以上のPBLエントリに影響する問題を解決

Linux kernel RDMAドライバのメモリ破損の脆弱性

Linux kernelコミュニティは2024年11月8日、RDMAドライバbnxt_reにおけるメモリ破損の脆弱性【CVE-2024-50208】を修正するアップデートをリリースした。この脆弱性は非MRリソースのLevel-2 PBLページ設定時に256Kを超えるページ数の場合にメモリ破損が発生する深刻な問題であることが判明している。[1]

この脆弱性は単一のPDEページアドレスを持つケースで複数ページが存在すると想定する実装上の欠陥に起因している。PDEにおける無効なメモリアクセスが256KのPBLエントリを超えた時点で発生し、システムの安定性や信頼性に重大な影響を及ぼす可能性が高いだろう。

影響を受けるバージョンは主にLinux kernel 5.7以降のリリースであり、5.10.229以降の5.10系、5.15.170以降の5.15系、6.1.115以降の6.1系、6.6.59以降の6.6系、6.11.6以降の6.11系、および6.12系では修正が適用されている。パッチの適用によってPBLページ設定時の処理が適切に行われるようになった。

Linux kernelの影響を受けるバージョン一覧

カーネルバージョン 影響状況
5.7より前 影響なし
5.7-5.10.228 影響あり
5.10.229以降 修正済み
5.15.170以降 修正済み
6.1.115以降 修正済み
6.6.59以降 修正済み

PBLページについて

PBLページとは、RDMAデバイスで使用されるページベースのリンクリストの構造を指す。主な特徴として以下のような点が挙げられる。

  • メモリリソースの効率的な管理を実現
  • 複数レベルの階層構造でアドレス管理が可能
  • 高速なデータ転送を実現するための重要な要素

LinuxカーネルのRDMAサブシステムでは、PBLページを通じてメモリリソースの管理と効率的なデータ転送を実現している。Level-2 PBLページの設定において256Kを超えるエントリが存在する場合、PDEページアドレスの扱いに問題が発生し、メモリアクセス違反やシステムの不安定化を引き起こす可能性がある。

Linux kernelのメモリ管理に関する考察

LinuxカーネルのRDMAドライバにおけるメモリ管理の問題は、大規模なデータ転送を行うエンタープライズシステムに深刻な影響を及ぼす可能性がある。特にHPC環境やクラウドインフラストラクチャでは、RDMAを活用した高速なデータ転送が重要な役割を果たしており、メモリ破損の問題は全体のパフォーマンスと信頼性に大きな影響を与えるだろう。

今後はメモリ管理システムの設計段階でより厳密な検証プロセスを導入することが望ましい。特に大規模なページテーブル構造を扱う場合のエッジケースについて、より詳細なテストケースを用意し、実環境に近い条件での動作確認を行うことで、同様の問題の再発を防ぐことができるだろう。

また、カーネルの開発コミュニティにおいては、メモリ管理に関する静的解析ツールの活用やコードレビューのプロセスをさらに強化することが求められる。特にRDMAのような複雑なサブシステムでは、メモリアクセスパターンの詳細な分析と、エッジケースの網羅的なテストが重要になってくるだろう。

参考サイト

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

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

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

コメントを残す

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