製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける競合状態に関する脆弱性
Title LinuxのLinux Kernelにおける競合状態に関する脆弱性
Summary

Linuxカーネルにおいて、iommu/vt-dのPASIDエントリ置換時に競合状態が発生する脆弱性が修正されました。Intel VT-dのPASIDテーブルエントリは512ビット(64バイト)であり、アクティブなPASIDエントリを単一の構造体代入で置換すると、ハードウェアが異なる128ビットチャンクとして読み取るため読み取り競合が発生し、不整合状態が発生する可能性がありました。この問題は、エントリのPresentビットをクリアしてから新しい設定を適用することで修正されました。

Possible impacts ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 
Solution

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

Publication Date May 27, 2026, midnight
Registration Date June 17, 2026, 3:45 p.m.
Last Update June 17, 2026, 3:45 p.m.
CVSS3.0 : 重要
Score 8.8
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Affected System
Linux
Linux Kernel 6.13 以上 6.19.4 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年06月17日]
  掲載
June 17, 2026, 3:45 p.m.

NVD Vulnerability Information
CVE-2026-45945
Summary

In the Linux kernel, the following vulnerability has been resolved:

iommu/vt-d: Fix race condition during PASID entry replacement

The Intel VT-d PASID table entry is 512 bits (64 bytes). When replacing
an active PASID entry (e.g., during domain replacement), the current
implementation calculates a new entry on the stack and copies it to the
table using a single structure assignment.

struct pasid_entry *pte, new_pte;

pte = intel_pasid_get_entry(dev, pasid);
pasid_pte_config_first_level(iommu, &new_pte, ...);
*pte = new_pte;

Because the hardware may fetch the 512-bit PASID entry in multiple
128-bit chunks, updating the entire entry while it is active (Present
bit set) risks a "torn" read. In this scenario, the IOMMU hardware
could observe an inconsistent state — partially new data and partially
old data — leading to unpredictable behavior or spurious faults.

Fix this by removing the unsafe "replace" helpers and following the
"clear-then-update" flow, which ensures the Present bit is cleared and
the required invalidation handshake is completed before the new
configuration is applied.

Publication Date May 27, 2026, 11:17 p.m.
Registration Date May 28, 2026, 4:11 a.m.
Last Update May 30, 2026, 8:17 p.m.
Related information, measures and tools
Common Vulnerabilities List