NVD Vulnerability Detail
Search Exploit, PoC
CVE-2026-46036
Summary

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

vfio/cdx: Serialize VFIO_DEVICE_SET_IRQS with a per-device mutex

vfio_cdx_set_msi_trigger() reads vdev->config_msi and operates on the
vdev->cdx_irqs array based on its value, but provides no serialization
against concurrent VFIO_DEVICE_SET_IRQS ioctls. Two callers can race
such that one observes config_msi as set while another clears it and
frees cdx_irqs via vfio_cdx_msi_disable(), resulting in a use-after-free
of the cdx_irqs array.

Add a cdx_irqs_lock mutex to struct vfio_cdx_device and acquire it in
vfio_cdx_set_msi_trigger(), which is the single chokepoint through
which all updates to config_msi, cdx_irqs, and msi_count flow, covering
both the ioctl path and the close-device cleanup path. This keeps the
test of config_msi atomic with the subsequent enable, disable, or
trigger operations.

Drop the pre-call !cdx_irqs test from vfio_cdx_irqs_cleanup() as part
of this change: the optimization it provided is redundant with the
!config_msi early-return inside vfio_cdx_msi_disable(), and leaving the
test in place would be an unsynchronized read of state the new lock is
meant to protect.

Publication Date May 27, 2026, 11:17 p.m.
Registration Date May 28, 2026, 4:13 a.m.
Last Update May 30, 2026, 8:17 p.m.
CVSS3.1 : HIGH
スコア 7.8
Vector CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
攻撃元区分(AV) ローカル
攻撃条件の複雑さ(AC)
攻撃に必要な特権レベル(PR)
利用者の関与(UI) 不要
影響の想定範囲(S) 変更なし
機密性への影響(C)
完全性への影響(I)
可用性への影響(A)
Related information, measures and tools
Common Vulnerabilities List

JVN Vulnerability Information
LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
Title LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。vfio/cdxでは、デバイスごとのミューテックスでVFIO_DEVICE_SET_IRQSをシリアライズします。vfio_cdx_set_msi_trigger()はvdev-config_msiを読み、その値に基づいてvdev-cdx_irqs配列を操作しますが、並行するVFIO_DEVICE_SET_IRQS ioctlに対するシリアライズがされていませんでした。二つの呼び出し元が競合し、一方がconfig_msiをセットされた状態と認識し、もう一方がそれをクリアしてvfio_cdx_msi_disable()を介してcdx_irqsを解放します。その結果、cdx_irqs配列のuse-after-freeが発生していました。struct vfio_cdx_deviceにcdx_irqs_lockミューテックスを追加し、vfio_cdx_set_msi_trigger()内でそれを取得するようにしました。この関数はconfig_msi、cdx_irqs、およびmsi_countのすべての更新を単一のチョークポイントで処理し、ioctl経路とデバイスクローズ時のクリーンアップ経路の両方をカバーします。これにより、config_msiのテストがその後の有効化、無効化、トリガー操作と原子的に保たれるようになりました。さらに、vfio_cdx_irqs_cleanup()から事前呼び出し時の!cdx_irqsテストを削除しました。この変更の一部として、この最適化はvfio_cdx_msi_disable()内の!config_msiによる早期リターンと重複しているため、テストを残すと新しいロックで保護される状態の非同期読み取りとなってしまうためです。

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

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

Publication Date May 27, 2026, midnight
Registration Date June 17, 2026, 3:40 p.m.
Last Update June 17, 2026, 3:40 p.m.
Affected System
Linux
Linux Kernel 6.10 以上 6.12.86 未満
Linux Kernel 6.13 以上 6.18.27 未満
Linux Kernel 6.19 以上 7.0.4 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年06月17日]
  掲載
June 17, 2026, 3:40 p.m.