In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Disallow dirty tracking if incoherent page walk
Dirty page tracking relies on the IOMMU atomically updating the dirty bit in the paging-structure entry. For this operation to succeed, the paging- structure memory must be coherent between the IOMMU and the CPU. In another word, if the iommu page walk is incoherent, dirty page tracking doesn't work.
The Intel VT-d specification, Section 3.10 "Snoop Behavior" states:
"Remapping hardware encountering the need to atomically update A/EA/D bits in a paging-structure entry that is not snooped will result in a non- recoverable fault."
To prevent an IOMMU from being incorrectly configured for dirty page tracking when it is operating in an incoherent mode, mark SSADS as supported only when both ecapslads and ecapsmpwc are supported.
[
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iommu/intel/iommu.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d096ce0e87bdc361f0b25d7943543bc53aa0b9e",
"digest": {
"line_hashes": [
"217212501567637433176490051356663257590",
"243195744017323030740860850942611755403",
"122795101855088312481038024866179211460",
"316804620101499417769219817207837419134"
],
"threshold": 0.9
},
"signature_type": "Line",
"id": "CVE-2025-40058-4ec76b78"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iommu/intel/iommu.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ebe16d245a00626bb87163862a1b07daf5475a3e",
"digest": {
"line_hashes": [
"217212501567637433176490051356663257590",
"243195744017323030740860850942611755403",
"122795101855088312481038024866179211460",
"316804620101499417769219817207837419134"
],
"threshold": 0.9
},
"signature_type": "Line",
"id": "CVE-2025-40058-77d9d932"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iommu/intel/iommu.h"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@57f55048e564dedd8a4546d018e29d6bbfff0a7e",
"digest": {
"line_hashes": [
"217212501567637433176490051356663257590",
"243195744017323030740860850942611755403",
"122795101855088312481038024866179211460",
"316804620101499417769219817207837419134"
],
"threshold": 0.9
},
"signature_type": "Line",
"id": "CVE-2025-40058-c537365f"
}
]