| 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. |
| CVSS3.0 : 重要 | |
| Score | 7.8 |
|---|---|
| Vector | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 6.10 以上 6.12.86 未満 |
| Linux Kernel 6.13 以上 6.18.27 未満 |
| Linux Kernel 6.19 以上 7.0.4 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年06月17日] 掲載 |
June 17, 2026, 3:40 p.m. |
| 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 Add a cdx_irqs_lock mutex to struct vfio_cdx_device and acquire it in Drop the pre-call !cdx_irqs test from vfio_cdx_irqs_cleanup() as part |
|---|---|
| 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. |