{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2024-50188",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2024-50188"
  ],
  "published": "2024-11-08T05:39:01Z",
  "summary": "net: phy: dp83869: fix memory corruption when enabling fiber",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: phy: dp83869: fix memory corruption when enabling fiber\n\nWhen configuring the fiber port, the DP83869 PHY driver incorrectly\ncalls linkmode_set_bit() with a bit mask (1 << 10) rather than a bit\nnumber (10). This corrupts some other memory location -- in case of\narm64 the priv pointer in the same structure.\n\nSince the advertising flags are updated from supported at the end of the\nfunction the incorrect line isn't needed at all and can be removed.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.113",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2024-50188"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/21b5af7f0c99b3bf1fd02016e6708b613acbcaf4"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/ad0d76b8ee5db063791cc2e7a30ffc9852ac37c4"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c1944b4253649fc6f2fb53e7d6302eb414d2182c"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/9ca634676ff66e1d616259e136f96f96b2a1759a"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/e3f2de32dae35bc7d173377dc97b5bc9fcd9fc84"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a842e443ca8184f2dc82ab307b43a8b38defd6a5"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T11:52:36Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.8,
      "cvss_v3_severity": "High",
      "scenario": "AV:L - The vulnerable code is a PHY driver init routine reached only through local device probe, interface bring-up, or the SIOCSMIIREG/ethtool local ioctl paths; no network-supplied data reaches it.\nAC:L - On an affected system (DP83869 PHY strapped or DT-configured for fiber, RGMII_100_BASE/RGMII_1000_BASE) the out-of-bounds write is fully deterministic \u2014 it executes on every config_init with no race to win and no memory layout to groom.\nPR:L - The corrupting write executes automatically during device probe at boot with no privilege exercised, and re-triggering via interface re-init requires only local presence on the affected board; CAP_NET_ADMIN gates only some of the re-entry paths, so the lowest plausible requirement is an ordinary local user.\nUI:N - The memory corruption occurs during driver probe and PHY hardware initialization with no victim action required.\nS:U - The out-of-bounds write stays inside kernel memory (struct phy_device) and is handled by the same kernel security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - This is an out-of-bounds write that corrupts a kernel pointer, and the resulting misaligned/garbage pointer causes the driver to read from unintended kernel memory, which per kernel scoring guidance for memory corruption is treated as High.\nI:H - An out-of-bounds write past the end of the linkmode bitmap corrupts adjacent kernel state \u2014 in common configurations the phydev->priv or LED-trigger pointer \u2014 which is memory corruption of kernel data structures.\nA:H - Dereferencing the corrupted pointer during routine link-status polling and subsequent config_init calls leads to bogus accesses and kernel oops/alignment faults, taking the network interface and potentially the system down."
    }
  }
}
