{"id":"CVE-2026-90315","revision":"7e21bd29101c433e8ff0dfa625781e83","records":[{"revision":"7e21bd29101c433e8ff0dfa625781e83","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-90315","aliases":[],"title":"PCI/sysfs: Add lockdown checks to legacy I/O and memory handlers","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nPCI/sysfs: Add lockdown checks to legacy I/O and memory handlers\n\nCurrently, the legacy I/O and memory sysfs handlers do not check\nsecurity_locked_down(LOCKDOWN_PCI_ACCESS), leaving the legacy_io and\nlegacy_mem files unprotected when the kernel is locked down.\n\nCommit eb627e17727e (\"PCI: Lock down BAR access when the kernel is locked\ndown\") added the check to pci_write_config(), pci_mmap_resource(), and\npci_write_resource_io() to prevent userspace from programming DMA-capable\nhardware that could be used to modify kernel code, but did not cover the\nlegacy handlers.\n\nAs a result, root can still write arbitrary I/O ports and map the legacy\nI/O and memory spaces while the kernel is locked down, which is the same\ncapability the lockdown is meant to remove.\n\nAdd the same check to pci_write_legacy_io(), pci_mmap_legacy_mem(), and\npci_mmap_legacy_io().\n\nThese generic handlers cover both architectures that define HAVE_PCI_LEGACY\n(such as Alpha and PowerPC).\n\n[bhelgaas: add Link]","state":0,"publishedAt":"2026-09-17T16:08:34.218+00:00","modifiedAt":"2026-10-19T09:01:31.722+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/pci/pci-sysfs.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"eb627e17727ebeede70697ae1798688b0d328b54\",\n                            \"lessThan\": \"3556caa31a2bfbc22c11b812fd4ed8851c2d7bff\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"eb627e17727ebeede70697ae1798688b0d328b54\",\n                            \"lessThan\": \"cd07aef510ac6a2873e01f9ddddc5492490b0067\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"eb627e17727ebeede70697ae1798688b0d328b54\",\n                            \"lessThan\": \"747b9bbbbdfdee51aee2456388f9b94b5086de4d\",\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/pci/pci-sysfs.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"5.4\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"5.4\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.57\",\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/3556caa31a2bfbc22c11b812fd4ed8851c2d7bff","https://git.kernel.org/stable/c/cd07aef510ac6a2873e01f9ddddc5492490b0067","https://git.kernel.org/stable/c/747b9bbbbdfdee51aee2456388f9b94b5086de4d"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-90315","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-90315","identifiers":["CVE-2026-90315"]},"retained":false,"historicalAffected":[]}],"coverage":[]}