{"id":"CVE-2026-92521","revision":"cdcadfab7c2e4c95b3d404882bee82cf","records":[{"revision":"cdcadfab7c2e4c95b3d404882bee82cf","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-92521","aliases":[],"title":"ACPI: PCI: Clear driver_data on all paths that free the acpi_pci_root","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nACPI: PCI: Clear driver_data on all paths that free the acpi_pci_root\n\nacpi_pci_root_add() assigns the freshly allocated root to\ndevice->driver_data before dmar_device_add() and pci_acpi_scan_root().\nBoth failure paths reach the end: label where root is kfree()'d, but\nonly the pci_acpi_scan_root() path clears driver_data first.\n\nWhen dmar_device_add() fails during a hot-add, root is freed while\ndevice->driver_data still points at it.  The ACPI core does not clear\ndriver_data on attach failure, so a later acpi_pci_find_root() call may\ndereference this dangling pointer.\n\nacpi_pci_root_remove() has the same problem: it frees root without\nclearing device->driver_data, leaving a dangling pointer behind after\nthe root bridge is removed.\n\nMove the NULL assignment to the shared end: label so every error path in\nacpi_pci_root_add() clears driver_data before freeing root, and clear it\nin acpi_pci_root_remove() as well, so the object is never left reachable\nthrough driver_data after being freed.","state":0,"publishedAt":"2026-09-17T16:10:28.144+00:00","modifiedAt":"2026-10-19T09:04:27.575+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/acpi/pci_root.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"db89b4f0dbab837d0f3de2c3e9427a8d5393afa3\",\n                            \"lessThan\": \"321bb0eb1486a0d575f02e24e3f4170e408c2f51\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"db89b4f0dbab837d0f3de2c3e9427a8d5393afa3\",\n                            \"lessThan\": \"3c1e8a14f9d06c1ed6f3e4bd2d283a62079109e2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"db89b4f0dbab837d0f3de2c3e9427a8d5393afa3\",\n                            \"lessThan\": \"a285fa3780c768dcc51c76768707d099a2cc611d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"db89b4f0dbab837d0f3de2c3e9427a8d5393afa3\",\n                            \"lessThan\": \"6aaf6dbf54fdfae096f3f90a79e9614e46579280\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"db89b4f0dbab837d0f3de2c3e9427a8d5393afa3\",\n                            \"lessThan\": \"70cf773cca30a10b4964c24520a71279c974b899\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"db89b4f0dbab837d0f3de2c3e9427a8d5393afa3\",\n                            \"lessThan\": \"3eee4c21931dc048ce63b86809f04e4e6f0dcad5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"db89b4f0dbab837d0f3de2c3e9427a8d5393afa3\",\n                            \"lessThan\": \"6e11ac626f9f9fc3a2ed27dfa44ccbe5fb762217\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"db89b4f0dbab837d0f3de2c3e9427a8d5393afa3\",\n                            \"lessThan\": \"8a742141f7ab84975aa758b775567ef4740ef0cf\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/acpi/pci_root.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"2.6.28\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"2.6.28\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.270\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.221\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.188\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.157\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.110\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.52\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.6\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/321bb0eb1486a0d575f02e24e3f4170e408c2f51","https://git.kernel.org/stable/c/3c1e8a14f9d06c1ed6f3e4bd2d283a62079109e2","https://git.kernel.org/stable/c/a285fa3780c768dcc51c76768707d099a2cc611d","https://git.kernel.org/stable/c/6aaf6dbf54fdfae096f3f90a79e9614e46579280","https://git.kernel.org/stable/c/70cf773cca30a10b4964c24520a71279c974b899","https://git.kernel.org/stable/c/3eee4c21931dc048ce63b86809f04e4e6f0dcad5","https://git.kernel.org/stable/c/6e11ac626f9f9fc3a2ed27dfa44ccbe5fb762217","https://git.kernel.org/stable/c/8a742141f7ab84975aa758b775567ef4740ef0cf"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-92521","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-92521","identifiers":["CVE-2026-92521"]},"retained":false,"historicalAffected":[]}],"coverage":[]}