CVE-2026-89451
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: iommu/sva: Set handle->dev before the SVA handle is visible iommu_attach_device_pasid() installs the new SVA attach handle in the group PASID lookup before iommu_sva_bind_device() returns. A concurrent bind can therefore find and reuse the same handle after iommu_sva_lock is dropped. handle->dev was initialized after dropping iommu_sva_lock. This leaves a window where a racing bind can return a handle whose dev pointer is still NULL. A subsequent iommu_sva_unbind_device() can then dereference it via handle->dev->iommu_group. Initialize handle->dev before releasing iommu_sva_lock so any visible SVA handle is fully initialized.
View original CVE JSON
{
"id": "CVE-2026-89451",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-09-11T20:19:25.727",
"lastModified": "2026-10-21T13:20:05.157",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommu/sva: Set handle->dev before the SVA handle is visible\n\niommu_attach_device_pasid() installs the new SVA attach handle in the\ngroup PASID lookup before iommu_sva_bind_device() returns. A concurrent\nbind can therefore find and reuse the same handle after iommu_sva_lock is\ndropped.\n\nhandle->dev was initialized after dropping iommu_sva_lock. This leaves a\nwindow where a racing bind can return a handle whose dev pointer is still\nNULL. A subsequent iommu_sva_unbind_device() can then dereference it via\nhandle->dev->iommu_group.\n\nInitialize handle->dev before releasing iommu_sva_lock so any visible SVA\nhandle is fully initialized."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/iommu/iommu-sva.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "be51b1d6bbff48c7d1943a8ff1e5a55777807f6e",
"lessThan": "c4c71368bc5c5b3840590d39b4cfa12d733cadf4",
"versionType": "git",
"status": "affected"
},
{
"version": "be51b1d6bbff48c7d1943a8ff1e5a55777807f6e",
"lessThan": "bcffb1c75da8fc9d51168ff9f09d471c26507912",
"versionType": "git",
"status": "affected"
},
{
"version": "be51b1d6bbff48c7d1943a8ff1e5a55777807f6e",
"lessThan": "968e9a1f71140c86dc4092f6b361e997923f3813",
"versionType": "git",
"status": "affected"
},
{
"version": "be51b1d6bbff48c7d1943a8ff1e5a55777807f6e",
"lessThan": "37a96a30617a4c96f048a5874c00509bc4fe4d85",
"versionType": "git",
"status": "affected"
},
{
"version": "be51b1d6bbff48c7d1943a8ff1e5a55777807f6e",
"lessThan": "530f8f9c3546cb3ebee1b135375aaee08a073ebb",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/iommu/iommu-sva.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6.2",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.2",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.109",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.50",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.4",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/37a96a30617a4c96f048a5874c00509bc4fe4d85",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/530f8f9c3546cb3ebee1b135375aaee08a073ebb",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/968e9a1f71140c86dc4092f6b361e997923f3813",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/bcffb1c75da8fc9d51168ff9f09d471c26507912",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c4c71368bc5c5b3840590d39b4cfa12d733cadf4",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}