【活用ガイド】

JVNDB-2026-015619

LinuxのLinux Kernelにおける不特定の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。iommu/vt-dでは、スケーラブルモードに対応していないアクセス不能なPCIeデバイスに対するdev-iotlbフラッシュをスキップします。ATSが有効でユーザースペースにパススルーされたPCIeエンドポイント(例:QEMU、DPDK)は、リンクが突然取り外されたりリンク障害が発生するとホストがハードロックする可能性があります。コミット4fc82cd907ac("iommu/vt-d: デバイス切断時にATS無効化リクエストを発行しない")はpci_dev_is_disconnected()をdevtlb_invalidation_with_pasid()に追加し、デバイスが安全に取り外されている場合のみATS無効化をスキップしますが、これはIntel IOMMUのスケーラブルモードが有効な場合に限ります。スケーラブルモードが無効または未対応の場合、PCIeエンドポイントのリンクが落ちるとIntel IOMMUは完了しないATS無効化を待ち続け、システムがハードロックします。コールトレースは次の通りです。qi_submit_sync、qi_flush_dev_iotlb、__context_flush_dev_iotlb.part.0、domain_context_clear_one_cb、pci_for_each_dma_alias、device_block_translation、blocking_domain_attach_dev、iommu_deinit_device、__iommu_group_remove_device、iommu_release_device、iommu_bus_notifier、blocking_notifier_call_chain、bus_notify、device_del、pci_remove_bus_device、pci_stop_and_remove_bus_device、pciehp_unconfigure_device、pciehp_disable_slot、pciehp_handle_presence_or_link_change、pciehp_ist。コミット81e921fd3216("iommu/vt-d: デバイス解放時のNULLドメイン修正")はintel_pasid_teardown_sm_context()をintel_iommu_release_device()に追加し、qi_flush_dev_iotlb()を呼び出してPCIeエンドポイントのリンク断時にシステムがハードロックする可能性を修正しました。コールトレースは次の通りです。qi_submit_sync、qi_flush_dev_iotlb、__context_flush_dev_iotlb.part.0、intel_context_flush_no_pasid、device_pasid_table_teardown、pci_pasid_table_teardown、pci_for_each_dma_alias、intel_pasid_teardown_sm_context、intel_iommu_release_device、iommu_deinit_device、__iommu_group_remove_device、iommu_release_device、iommu_bus_notifier、blocking_notifier_call_chain、bus_notify、device_del、pci_remove_bus_device、pci_stop_and_remove_bus_device、pciehp_unconfigure_device、pciehp_disable_slot、pciehp_handle_presence_or_link_change、pciehp_ist。エンドポイントはリンクダウンイベントなしに接続を失うことがあり(例:リンク障害)、プロセスをkill(virsh destroy)するとホストがハードロックします。コールトレースは次の通りです。qi_submit_sync、qi_flush_dev_iotlb、__context_flush_dev_iotlb.part.0、domain_context_clear_one_cb、pci_for_each_dma_alias、device_block_translation、blocking_domain_attach_dev、__iommu_attach_device、__iommu_device_set_domain、__iommu_group_set_domain_internal、iommu_detach_group、vfio_iommu_type1_detach_group、vfio_group_detach_container、vfio_group_fops_release、__fput。pci_dev_is_disconnected()は安全な取り外し経路のみに対応し、pci_device_is_present()はベンダー/デバイスIDの読み取りによってアクセス可能性を検査し、その内部でpci_dev_is_disconnected()を呼び出します。ConnectX-5 (8 GT/s, x2)では約70マイクロ秒かかります。__context_flush_dev_iotlb()は{attach,release}_devのパスでのみ呼ばれる(ホットパスではありません)ため、そこにpci_device_is_present()を追加し、アクセス不能なデバイスをスキップしてハードロックを回避します。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


Linux
  • Linux Kernel 5.12.19 以上 5.13 未満
  • Linux Kernel 5.13.4 以上 5.14 未満
  • Linux Kernel 5.14.1 以上 6.12.77 未満
  • Linux Kernel 6.13 以上 6.18.17 未満
  • Linux Kernel 6.19 以上 6.19.6 未満
  • Linux Kernel 5.14

想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 情報不足(CWE-noinfo) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-43161
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-43161
  2. 関連文書 : iommu/vt-d: Skip dev-iotlb flush for inaccessible PCIe device without scalable mode - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/48b3f08e68b29a79527869cdde7298ca2a9b9646)
  3. 関連文書 : iommu/vt-d: Skip dev-iotlb flush for inaccessible PCIe device without scalable mode - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bc0490ad9edf5c6f98e39fbbee2877b85261a5ae)
  4. 関連文書 : iommu/vt-d: Skip dev-iotlb flush for inaccessible PCIe device without scalable mode - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e70d5feb10c5ba2bbf7ca400b8f39a2f82d653e8)
  5. 関連文書 : iommu/vt-d: Skip dev-iotlb flush for inaccessible PCIe device without scalable mode - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/42662d19839f34735b718129ea200e3734b07e50)
更新履歴

  • [2026年05月15日]
      掲載