CVEvulnerability
CVE-2026-98504
- Status
- Received
- Published
- 2026-10-18
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
PCI: of_property: Omit bus properties without a subordinate bus
A bridge (a device with a Type 1 header) may not have a secondary bus
allocated (pdev->subordinate), e.g., if there are no available bus numbers
or the bridge secondary/subordinate bus numbers are not writable.
The dynamic OF helpers of_pci_prop_bus_range() and of_pci_prop_intr_map()
dereference pdev->subordinate without checking it. When
CONFIG_PCI_DYNAMIC_OF_NODES is enabled, this can cause a NULL pointer
dereference and early boot hang.
Generate 'bus-range' and 'interrupt-map' properties only when a subordinate
bus exists. Keep the node and its remaining properties for bridges without
one.
The problem was latent since 407d1a51921e ("PCI: Create device tree node
for bridge"), but wasn't reachable until 1f340724419e ("PCI: of: Create
device tree PCI host bridge node"), which appeared in v6.15. Before
1f340724419e, of_pci_make_dev_node() returned early because the parent OF
node was missing.
[bhelgaas: move pdev->subordinate test to callees, commit log]
References
- https://git.kernel.org/stable/c/879c911f77b8a7862aa16079b04efc3fdc5d32ec git.kernel.org
- https://git.kernel.org/stable/c/8805840aad73df7146778be243a196d48b4f6430 git.kernel.org
- https://git.kernel.org/stable/c/a6d97d10e49ae49026ae13af6c41634fce470a37 git.kernel.org
- https://git.kernel.org/stable/c/aee774588abd78f75952fd34c3fa461bc46b62c2 git.kernel.org
- https://git.kernel.org/stable/c/ccd32fa3489cbe86a0b281da4447b4c7eadb3518 git.kernel.org