{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-45931",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-05-13T15:03:33.086Z",
        "datePublished": "2026-05-27T12:17:49.527Z",
        "dateUpdated": "2026-08-05T12:28:45.338Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T12:28:45.338Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\naccel/amdxdna: Hold mm structure across iommu_sva_unbind_device()\n\nSome tests trigger a crash in iommu_sva_unbind_device() due to\naccessing iommu_mm after the associated mm structure has been\nfreed.\n\nFix this by taking an explicit reference to the mm structure\nafter successfully binding the device, and releasing it only\nafter the device is unbound. This ensures the mm remains valid\nfor the entire SVA bind/unbind lifetime."
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The vulnerable bind/unbind code is reached only by opening the local amdxdna accel device file (/dev/accel/accelN) and closing it; there is no network or remote-peer path to this driver.\nAC:L - The attacker controls both sides of the lifetime issue (the SVA bind at open and the unbind timing via process/fd teardown), and the crash reproduces reliably in tests, so no condition is beyond the attacker's control.\nPR:L - Opening the device and triggering the SVA bind/unbind requires no capability (no CAP check on the path; DRM_ROOT_ONLY only guards SET_STATE), only the ability to open the accel node, which unprivileged ML workloads on AMD NPU systems possess.\nUI:N - The attacker's own process triggers the bug entirely through its own open/close sequence; no action by another user is required.\nS:U - The use-after-free corrupts kernel-managed objects (mm_struct/iommu_mm_data) within the kernel's own security authority and does not breach the IOMMU DMA-isolation boundary or escape to another scope.\nC:H - Per kernel guidance a use-after-free is High; the freed iommu_mm_data/mm_struct is read after free, and controlling the reallocated contents enables disclosure of freed kernel memory.\nI:H - The UAF lets an attacker who reallocates the freed iommu_mm_data control the pasid value driving iommu_detach_device_pasid(), enabling kernel/IOMMU state corruption and the heap-spray/arbitrary-write potential characteristic of UAFs.\nA:H - Dereferencing the freed mm structure during unbind reliably oopses/panics the kernel, a High availability impact."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/accel/amdxdna/amdxdna_pci_drv.c",
                        "drivers/accel/amdxdna/amdxdna_pci_drv.h"
                    ],
                    "versions": [
                        {
                            "version": "be462c97b7dfd24999babe39cce3de224ebe1f80",
                            "lessThan": "f6b4c1d98a7b8040d4d02e89425b3942016a2c2c",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "be462c97b7dfd24999babe39cce3de224ebe1f80",
                            "lessThan": "f31ccf6278132a35a652fe5eeac3941e1e912398",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "be462c97b7dfd24999babe39cce3de224ebe1f80",
                            "lessThan": "a9162439ad792afcddc04718408ec1380b7a5f63",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/accel/amdxdna/amdxdna_pci_drv.c",
                        "drivers/accel/amdxdna/amdxdna_pci_drv.h"
                    ],
                    "versions": [
                        {
                            "version": "6.14",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "6.14",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.14",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.19.4",
                            "lessThanOrEqual": "6.19.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.0",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.14",
                                    "versionEndExcluding": "6.18.14"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.14",
                                    "versionEndExcluding": "6.19.4"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "6.14",
                                    "versionEndExcluding": "7.0"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/f6b4c1d98a7b8040d4d02e89425b3942016a2c2c"
                },
                {
                    "url": "https://git.kernel.org/stable/c/f31ccf6278132a35a652fe5eeac3941e1e912398"
                },
                {
                    "url": "https://git.kernel.org/stable/c/a9162439ad792afcddc04718408ec1380b7a5f63"
                }
            ],
            "title": "accel/amdxdna: Hold mm structure across iommu_sva_unbind_device()",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}