CVE-2026-52952

Summary

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

iommu: Fix WARN_ON in __iommu_group_set_domain_nofail() due to reset

In __iommu_group_set_domain_internal(), concurrent domain attachments are rejected when any device in the group is recovering. This is necessary to fence concurrent attachments to a multi-device group where devices might share the same RID due to PCI DMA alias quirks, but triggers the WARN_ON in __iommu_group_set_domain_nofail().

Other IOMMU_SET_DOMAIN_MUST_SUCCEED callers in detach/teardown paths, such as __iommu_group_set_core_domain and __iommu_release_dma_ownership, should not be rejected, as the domain would be freed anyway in these nofail paths while group->domain is still pointing to it. So pci_dev_reset_iommu_done() could trigger a UAF when re-attaching group->domain.

Honor the IOMMU_SET_DOMAIN_MUST_SUCCEED flag, allowing the callers through the group->recovery_cnt fence, so as to update the group->domain pointer. Instead add a gdev->blocked check in the device iteration loop, to prevent any concurrent per-device detachment.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc279e83953d937470f8a6e69b69f62608714f13f < 8fc289e809f3eb7e36cadc4684ab6fad747a5a93affected
LinuxLinuxc279e83953d937470f8a6e69b69f62608714f13f < 5474e6e17a262db45c60575c73f70210f5c7001faffected
LinuxLinux7.0affected
LinuxLinux0 < 7.0unaffected
LinuxLinux7.0.10 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

ADP Enrichment

kernel: iommu: Fix WARN_ON in __iommu_group_set_domain_nofail() due to reset

Additional References

References