公開:

【CVE-2024-50042】LinuxカーネルのiceドライバにMSI-X関連の脆弱性、メモリ破損のリスクに対応

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


記事の要約

  • Linuxカーネルのiceドライバにおけるメモリ操作の脆弱性を発見
  • VFでのMSI-X値増加時に無効なメモリ操作が発生
  • ice_vsi_rebuild()を使用した修正パッチを適用

LinuxカーネルのiceドライバにおけるMSI-X脆弱性の発見と対応

kernel.orgは2024年10月21日、LinuxカーネルのiceドライバにおいてVF上でのMSI-X値増加時に無効なメモリ操作が発生する脆弱性【CVE-2024-50042】を公開した。この脆弱性は配列の再割り当てが行われないことが原因で発生しており、デフォルトのMSI-X値である16を超えるとメモリ破損のリスクが高まることが判明している。[1]

脆弱性の発見により、KASANはice_vsi_alloc_ring_stats関数内での範囲外メモリアクセスを報告している。この問題はバッファオーバーフローを引き起こす可能性があり、システムの安定性と信頼性に深刻な影響を及ぼす可能性が指摘されている。

修正パッチではice_vf_reconfig_vsi()の代わりにice_vsi_rebuild()を使用することで、新しいキューカウントを考慮した配列の再割り当てが実装されることになった。この修正により、req_txqとreq_rxqの設定を適切に行うことでメモリ操作の安全性が確保されることが期待される。

CVE-2024-50042の影響範囲

項目 詳細
CVE ID CVE-2024-50042
公開日 2024年10月21日
更新日 2024年11月19日
影響を受けるバージョン Linux 6.8から6.11.3まで
修正状況 6.11.4以降で修正済み
影響範囲 iceドライバを使用するシステム

MSI-Xについて

MSI-Xは、Message Signaled Interrupts eXtendedの略称で、PCIeデバイスの割り込み処理を効率的に行うための拡張機能である。主な特徴として、以下のような点が挙げられる。

  • 複数の割り込みベクターを同時に処理可能
  • レガシーな割り込み方式と比較して低レイテンシー
  • システムリソースの効率的な利用を実現

今回の脆弱性では、VF(Virtual Function)上でMSI-Xの値を増加させる際に必要な配列の再割り当てが行われないことが問題となっている。MSI-Xの設定値がデフォルトの16を超えた場合に無効なメモリ操作が発生し、システムの安定性を損なう可能性があることが確認されている。

Linuxカーネルのiceドライバ脆弱性に関する考察

iceドライバの脆弱性修正は、仮想化環境におけるネットワーク機能の安全性向上という観点で重要な意味を持っている。特にVFのMSI-X設定に関する問題は、大規模な仮想化環境を運用する企業にとって深刻なセキュリティリスクとなる可能性があるため、早急な対応が求められるだろう。

今後は同様の問題を未然に防ぐため、ドライバ開発時のメモリ管理に関するより厳密なテストが必要になると考えられる。特にVF関連の機能は複雑な相互作用を持つため、異常系のテストケースを充実させることで、より堅牢なドライバ実装が可能になるだろう。

また、オープンソースコミュニティによる迅速な脆弱性の発見と修正は、Linuxカーネルの信頼性向上に大きく貢献している。今回のような具体的な再現手順と詳細な技術情報の共有は、他のドライバ開発者にとっても貴重な教訓となることが期待される。

参考サイト

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

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

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

コメントを残す

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