{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-64228",
  "modified": "2026-10-07T14:35:31Z",
  "upstream": [
    "CVE-2026-64228"
  ],
  "published": "2026-07-24T15:23:26Z",
  "summary": "net: ethtool: phy: avoid NULL deref when PHY driver is unbound",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ethtool: phy: avoid NULL deref when PHY driver is unbound\n\nphydev->drv can become NULL while the phy_device is still attached to\nits net_device, namely after the PHY driver is unbound via sysfs:\n\n\techo <mdio_id> > /sys/bus/mdio_bus/drivers/<phy_drv>/unbind\n\nphy_remove() clears phydev->drv but doesn't call phy_detach(), so the\nphy_device stays in the link topology xarray and ethnl_req_get_phydev()\nstill hands it back. ETHTOOL_MSG_PHY_GET then oopses on:\n\n\trep_data->drvname = kstrdup(phydev->drv->name, GFP_KERNEL);\n\ndrvname is already treated as optional by phy_reply_size(),\nphy_fill_reply() and phy_cleanup_data(), so just skip the allocation\nwhen there is no driver bound.",
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:13",
        "name": "linux"
      },
      "versions": [
        "1:6.18.29-1+rpt1",
        "1:6.18.33-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-v6",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-v7",
            "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-v6",
            "binary_version": "1:6.18.33-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-v7",
            "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"
          }
        ]
      },
      "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.34"
          },
          "1:6.18.33-1+rpt1": {
            "linux_commit": "95b85bebbedcaedfa7ca79116ed38b7376fba412",
            "upstream_version": "6.18.33",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.18.34"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-64228"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/3586924625559e6f9876d726c80ff0a75f0d5849"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/17fe2381f967d353183f374a1c0181a6d194158c"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/e3adf69f8eb121a9128c2b0029efd050d3649153"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-07-24T15:23:26Z"
  }
}
