公開:

【CVE-2024-50221】LinuxカーネルのVangoghドライバにメモリ境界外書き込みの脆弱性を発見、GPUメトリクステーブルのサイズ不足が原因に

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


記事の要約

  • LinuxカーネルにVangoghのメモリ境界外書き込みの脆弱性
  • KASANによってGPUメトリクステーブルの問題を特定
  • カーネルバージョン6.6-6.11で影響を確認

LinuxカーネルのVangoghドライバにおけるメモリ境界外書き込みの脆弱性

Linuxカーネルのコミュニティは2024年11月9日に、AMDのVangoghグラフィックスドライバにおけるメモリ境界外書き込みの脆弱性【CVE-2024-50221】を公開した。KASANによる検出で、vangogh_tables_init()で割り当てられたGPUメトリクステーブルがsmu_cmn_init_soft_gpu_metrics()で行われるメモリセットに対して十分な大きさではないことが判明している。[1]

この脆弱性は特にValve Galileoハードウェア上で確認されており、mangoappプロセスによって引き起こされることが報告されている。問題のある動作はカーネルバージョン6.12.0-rc4上で確認され、メモリの168バイトの書き込みがアドレスffff888129f59500で発生することが特定されている。

根本的な原因は、GPUメトリクスv2.4対応のテーブルサイズが適切に拡張されていなかったことにある。修正パッチでは一時的な対応としてテーブルサイズを最大可能サイズに設定しているが、将来的にはパートバージョンとサイズのロジックを共通ヘルパーに統合する方針が示されている。

Linuxカーネルの脆弱性対応状況

カーネルバージョン 影響状況 対応状態
6.6 影響あり パッチ適用済み
6.11.7-6.11.* 影響なし 対応済み
6.12-rc6 影響なし 対応済み

メモリ境界外書き込みについて

メモリ境界外書き込みとは、プログラムが割り当てられたメモリ領域を超えてデータを書き込もうとする深刻なセキュリティ脆弱性のことを指す。主な特徴として以下のような点が挙げられる。

  • システムの安定性とセキュリティを脅かす重大な問題
  • メモリ破壊やバッファオーバーフローを引き起こす可能性
  • 攻撃者による任意のコード実行のリスクがある

今回のLinuxカーネルの事例では、KASANがメモリ境界外書き込みを検出し、GPUメトリクステーブルのサイズ不足が原因であることを特定した。修正パッチではテーブルサイズを拡大することで問題に対処しているが、将来的にはより体系的なアプローチでの解決が検討されている。

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

今回のメモリ境界外書き込みの脆弱性は、GPUメトリクス機能の実装における重要な教訓となっている。KASANによる早期発見とコミュニティの迅速な対応は評価できるが、テーブルサイズの検証が不十分だった点は開発プロセスの改善が必要だろう。メモリ管理に関する厳密なテストケースの追加と設計段階でのサイズ要件の明確化が今後の課題となる。

将来的な改善策として、パートバージョンとサイズのロジックを共通ヘルパーに統合する提案は理にかなっている。このアプローチにより、コードの保守性が向上し、同様の問題の再発を防ぐことが期待できる。現状の一時的な対応は問題解決には十分だが、長期的な視点での改善が必要だろう。

GPUドライバの開発においては、ハードウェアの進化に伴うメモリ要件の変化を適切に予測し、柔軟な対応が可能な設計が求められる。特にVangoghのようなモダンなGPUアーキテクチャでは、メトリクス機能の重要性が増しており、堅牢な実装がより一層重要になってきている。

参考サイト

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

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

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

コメントを残す

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