{
  "cveId": "CVE-2021-47282",
  "url": "https://patchblox.com/security/cve/CVE-2021-47282",
  "summary": "CVE-2021-47282 is fixed in linux on 1 platform, first by DEBIAN-CVE-2021-47282, released May 21, 2024. It is not reported as exploited. Patch Radar priority: High.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  spi: bcm2835: Fix out-of-bounds access with more...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  spi: bcm2835: Fix out-of-bounds access with more than 4 slaves  Commit 571e31fa60b3 (\u0022spi: bcm2835: Cache CS register value for -\u003Eprepare_message()\u0022) limited the number of slaves to 3 at compile-time. The limitation was necessitated by a statically-sized array prepare_cs[] in the driver private data which contains a per-slave register value.  The commit sought to enforce the limitation at run-time by setting the controller\u0027s num_chipselect to 3:  Slaves with a higher chipselect are rejected by spi_add_device().  However the commit neglected that num_chipselect only limits the number of *native* chipselects.  If GPIO chipselects are specified in the device tree for more than 3 slaves, num_chipselect is silently raised by of_spi_get_gpio_numbers() and the result are out-of-bounds accesses to the statically-sized array prepare_cs[].  As a bandaid fix which is backportable to stable, raise the number of allowed slaves to 24 (which \u0022ought to be enough for anybody\u0022), enforce the limitation on slave -\u003Esetup and revert num_chipselect to 3 (which is the number of native chipselects supported by the controller). An upcoming for-next commit will allow an arbitrary number of slaves.",
  "published": "2024-05-21T15:15:16Z",
  "severity": "high",
  "cvss": 7.8,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
  "epss": 0.00233,
  "epssPercentile": 0.14206,
  "priority": "High",
  "priorityTier": 3,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "5.10.46-1",
      "fix": "DEBIAN-CVE-2021-47282",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2021-47282",
      "released": "2024-05-21T15:15:16Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "5.10.46-1",
      "fix": "DEBIAN-CVE-2021-47282",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2021-47282",
      "released": "2024-05-21T15:15:16Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "5.10.46-1",
      "fix": "DEBIAN-CVE-2021-47282",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2021-47282",
      "released": "2024-05-21T15:15:16Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T06:59:42Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}