{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-98504",
  "modified": "2026-10-19T04:30:01Z",
  "upstream": [
    "CVE-2026-98504"
  ],
  "published": "2026-10-18T15:22:13Z",
  "summary": "PCI: of_property: Omit bus properties without a subordinate bus",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nPCI: of_property: Omit bus properties without a subordinate bus\n\nA bridge (a device with a Type 1 header) may not have a secondary bus\nallocated (pdev->subordinate), e.g., if there are no available bus numbers\nor the bridge secondary/subordinate bus numbers are not writable.\n\nThe dynamic OF helpers of_pci_prop_bus_range() and of_pci_prop_intr_map()\ndereference pdev->subordinate without checking it.  When\nCONFIG_PCI_DYNAMIC_OF_NODES is enabled, this can cause a NULL pointer\ndereference and early boot hang.\n\nGenerate 'bus-range' and 'interrupt-map' properties only when a subordinate\nbus exists.  Keep the node and its remaining properties for bridges without\none.\n\nThe problem was latent since 407d1a51921e (\"PCI: Create device tree node\nfor bridge\"), but wasn't reachable until 1f340724419e (\"PCI: of: Create\ndevice tree PCI host bridge node\"), which appeared in v6.15.  Before\n1f340724419e, of_pci_make_dev_node() returned early because the parent OF\nnode was missing.\n\n[bhelgaas: move pdev->subordinate test to callees, commit log]",
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:13",
        "name": "linux"
      },
      "versions": [
        "1:6.18.29-1+rpt1",
        "1:6.18.33-1+rpt1",
        "1:6.18.34-1+rpt1",
        "1:6.18.39-1+rpt1",
        "1:6.18.50-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-2712",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-v8",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-v8-rt",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-2712",
            "binary_version": "1:6.18.33-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-v8",
            "binary_version": "1:6.18.33-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-v8-rt",
            "binary_version": "1:6.18.33-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.34+rpt-rpi-2712",
            "binary_version": "1:6.18.34-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.34+rpt-rpi-v8",
            "binary_version": "1:6.18.34-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.34+rpt-rpi-v8-rt",
            "binary_version": "1:6.18.34-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.39+rpt-rpi-2712",
            "binary_version": "1:6.18.39-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.39+rpt-rpi-v8",
            "binary_version": "1:6.18.39-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.39+rpt-rpi-v8-rt",
            "binary_version": "1:6.18.39-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.50+rpt-rpi-2712",
            "binary_version": "1:6.18.50-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.50+rpt-rpi-v8",
            "binary_version": "1:6.18.50-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.50+rpt-rpi-v8-rt",
            "binary_version": "1:6.18.50-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.18.29-1+rpt1": {
            "linux_commit": "66318c5b5cd8145a662303af12ed39ac07eb27cc",
            "upstream_version": "6.18.29",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.18.55"
          },
          "1:6.18.33-1+rpt1": {
            "linux_commit": "95b85bebbedcaedfa7ca79116ed38b7376fba412",
            "upstream_version": "6.18.33",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.18.55"
          },
          "1:6.18.34-1+rpt1": {
            "linux_commit": "c8c7494100e99ee05b11aaa4f0588a223a63d1af",
            "upstream_version": "6.18.34",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.18.55"
          },
          "1:6.18.39-1+rpt1": {
            "linux_commit": "60ea684a8ace97bb0db1a16e20753bdd6ab371ff",
            "upstream_version": "6.18.39",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.18.55"
          },
          "1:6.18.50-1+rpt1": {
            "linux_commit": "cff533aec2fa601846766b32ff57204e0a61bed7",
            "upstream_version": "6.18.50",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.18.55"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-98504"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/ccd32fa3489cbe86a0b281da4447b4c7eadb3518"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a6d97d10e49ae49026ae13af6c41634fce470a37"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/879c911f77b8a7862aa16079b04efc3fdc5d32ec"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/aee774588abd78f75952fd34c3fa461bc46b62c2"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/8805840aad73df7146778be243a196d48b4f6430"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-10-18T15:22:13Z"
  }
}
