公開:

【CVE-2024-50075】Linux kernelのTegraXUSBコントローラーに脆弱性、USB仮想化機能の不具合を修正

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


記事の要約

  • Linux kernelのUSB2ポート番号チェックの脆弱性を修正
  • 仮想化環境でのUSB2ポート共有における問題を解決
  • 【CVE-2024-50075】として識別される深刻な不具合

TegraのXUSBコントローラーにおけるメモリアクセス不具合

Linux kernelの開発チームは、USB仮想化における重大な脆弱性【CVE-2024-50075】を2024年10月29日に公開した。TegraのXUSBコントローラーにおいて、USB2ポートが仮想マシン間で共有される際にポート番号の検証が不適切であり、無効なメモリアクセスが発生する可能性が確認されている。[1]

この脆弱性は、仮想マシンのUSB2ルートハブが所有するポート番号がTegraのXUSBコントローラーがサポートする物理的なUSB2ポート数よりも少ない場合に発生する問題だ。ポート数の不一致により、PORTSCの値をチェックする際に無効なメモリ領域にアクセスしてしまう深刻な不具合が存在している。

問題の解決には、カーネルのコードベースにおいてポート番号の検証ロジックを修正する必要があった。具体的には、仮想マシンのUSB2ルートハブが所有するポート番号を適切に検証し、物理的なUSB2ポート数との整合性を確保するための修正が実装されている。

影響を受けるLinuxカーネルバージョンまとめ

項目 詳細
影響範囲 a30951d31b25以降、9c696bf4ab54以前
修正状況 6.6.58以降で修正済み
対象機能 USB仮想化機能
不具合内容 無効なメモリアクセスの発生

USB仮想化について

USB仮想化とは、物理的なUSBデバイスやポートを複数の仮想マシンで共有するための技術のことを指す。主な特徴として、以下のような点が挙げられる。

  • 物理USBデバイスの仮想環境での共有を実現
  • 複数の仮想マシン間でのリソース分配を管理
  • ホストOSとゲストOS間の通信制御を実施

TegraのXUSBコントローラーにおけるUSB仮想化の実装では、Virtual Function機能を活用してUSB2ポートを複数の仮想マシン間で共有する仕組みを採用している。しかし、仮想マシンのUSB2ルートハブが所有するポート番号と物理的なUSB2ポート数の不一致により、メモリアクセス違反が発生する課題が確認された。

TegraのXUSBコントローラーに関する考察

TegraのXUSBコントローラーにおけるUSB仮想化の実装は、効率的なリソース共有を実現する一方で、ポート番号の検証に関する課題を抱えていたことが明らかになった。Virtual Function機能を活用した設計は優れた拡張性を提供するものの、物理リソースと仮想リソースの整合性確保には十分な注意が必要である。

今後は、USB仮想化技術の発展に伴い、より複雑なリソース共有シナリオへの対応が求められることが予想される。特に、仮想マシンの動的な追加や削除、リソースの動的な割り当て変更などに対して、より堅牢な検証メカニズムの実装が必要となるだろう。

また、セキュリティの観点からも、仮想化環境における物理デバイスの共有には慎重なアプローチが求められる。メモリアクセス制御の強化や、仮想マシン間の分離レベルの向上など、セキュリティ面での改善が継続的に必要となるだろう。

参考サイト

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

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

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

コメントを残す

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