{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-72487",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2026-08-09T03:40:39.936Z",
        "datePublished": "2026-08-15T05:57:23.490Z",
        "dateUpdated": "2026-08-17T05:44:48.915Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-17T05:44:48.915Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nPCI: Check ROM header and data structure addr before accessing\n\nWe meet a crash when running stress-ng on x86_64 machine:\n\n  BUG: unable to handle page fault for address: ffa0000007f40000\n  RIP: 0010:pci_get_rom_size+0x52/0x220\n  Call Trace:\n  <TASK>\n    pci_map_rom+0x80/0x130\n    pci_read_rom+0x4b/0xe0\n    kernfs_file_read_iter+0x96/0x180\n    vfs_read+0x1b1/0x300\n\nOur analysis reveals that the ROM space's start address is\n0xffa0000007f30000, and size is 0x10000. Because of broken ROM space,\nbefore calling readl(pds), the pds's value is 0xffa0000007f3ffff, which is\nalready pointed to the ROM space end, invoking readl() would read 4 bytes\ntherefore cause an out-of-bounds access and trigger a crash.  Fix this by\nadding image header and data structure checking.\n\nWe also found another crash on arm64 machine:\n\n  Unable to handle kernel paging request at virtual address ffff8000dd1393ff\n  Mem abort info:\n  ESR = 0x0000000096000021\n  EC = 0x25: DABT (current EL), IL = 32 bits\n  SET = 0, FnV = 0\n  EA = 0, S1PTW = 0\n  FSC = 0x21: alignment fault\n\nThe call trace is the same with x86_64, but the crash reason is that the\ndata structure addr is not aligned with 4, and arm64 machine report\n\"alignment fault\". Fix this by adding alignment checking.\n\n[bhelgaas: shorten function names, wrap comments]"
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "version": "3.1",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H",
                        "baseScore": 7.7,
                        "baseSeverity": "HIGH"
                    },
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "AV:L - The flaw is reached only through local kernel paths—sysfs rom reads, VFIO PCI ROM region access, or pci_map_rom() during driver probe—not via any network-facing handler.\nAC:L - An attacker fully controls option-ROM header fields on a malicious or broken PCI device and can reliably craft pointers/lengths that place MMIO reads at the ROM window edge to trigger the fault.\nPR:N - Exploitation requires no OS privileges when a crafted option ROM on a hot-plugged PCIe/Thunderbolt device is parsed during automatic driver probe; VFIO ROM access also needs only standard device file permissions.\nUI:N - No victim interaction is required beyond attacker-initiated local ROM access or automatic kernel parsing when a malicious PCI device is inserted and bound to a driver.\nS:U - The impact is a kernel page fault/panic within the host kernel from malformed ROM parsing; it does not cross VM, IOMMU, or other security boundaries.\nC:H - pci_get_rom_size() performs unchecked readw/readl on attacker-controlled offsets, causing out-of-bounds MMIO reads past the ioremap window before faulting (CWE-125).\nI:N - The bug is an out-of-bounds read that faults immediately; it does not modify kernel memory, device state, or provide a write/control-flow primitive.\nA:H - Confirmed kernel crashes on x86_64 (page fault) and arm64 (alignment fault) when parsing malformed ROM data, causing denial of service via kernel oops/panic."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "drivers/pci/rom.c"
                    ],
                    "versions": [
                        {
                            "version": "47b975d234eac39f3a72e5496d5f6158d8b806d1",
                            "lessThan": "cd5b242d5848369b9e957340a7e30adee7b6763d",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "47b975d234eac39f3a72e5496d5f6158d8b806d1",
                            "lessThan": "4997873e3abbad47a9e1e4abd05f045f77a74f22",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "47b975d234eac39f3a72e5496d5f6158d8b806d1",
                            "lessThan": "724042f8f98d2594b9d164549fd4292c6bd58120",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "47b975d234eac39f3a72e5496d5f6158d8b806d1",
                            "lessThan": "1d495446ec7ace5b61da366ffb161ee8319dd9a2",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "47b975d234eac39f3a72e5496d5f6158d8b806d1",
                            "lessThan": "721ad5b72448b5065ed309017ab563205f162404",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "47b975d234eac39f3a72e5496d5f6158d8b806d1",
                            "lessThan": "538796b807fcfb81b2ce40cc97a614fd8588feb5",
                            "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/pci/rom.c"
                    ],
                    "versions": [
                        {
                            "version": "4.5",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "4.5",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.1.178",
                            "lessThanOrEqual": "6.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.6.145",
                            "lessThanOrEqual": "6.6.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.12.97",
                            "lessThanOrEqual": "6.12.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.40",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.1.5",
                            "lessThanOrEqual": "7.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.2",
                            "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": "4.5",
                                    "versionEndExcluding": "6.1.178"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.5",
                                    "versionEndExcluding": "6.6.145"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.5",
                                    "versionEndExcluding": "6.12.97"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.5",
                                    "versionEndExcluding": "6.18.40"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.5",
                                    "versionEndExcluding": "7.1.5"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "4.5",
                                    "versionEndExcluding": "7.2"
                                }
                            ]
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://git.kernel.org/stable/c/cd5b242d5848369b9e957340a7e30adee7b6763d"
                },
                {
                    "url": "https://git.kernel.org/stable/c/4997873e3abbad47a9e1e4abd05f045f77a74f22"
                },
                {
                    "url": "https://git.kernel.org/stable/c/724042f8f98d2594b9d164549fd4292c6bd58120"
                },
                {
                    "url": "https://git.kernel.org/stable/c/1d495446ec7ace5b61da366ffb161ee8319dd9a2"
                },
                {
                    "url": "https://git.kernel.org/stable/c/721ad5b72448b5065ed309017ab563205f162404"
                },
                {
                    "url": "https://git.kernel.org/stable/c/538796b807fcfb81b2ce40cc97a614fd8588feb5"
                }
            ],
            "title": "PCI: Check ROM header and data structure addr before accessing",
            "x_generator": {
                "engine": "bippy-1.2.0"
            }
        }
    }
}