{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "05565b469358a9a03034f7f712d83590a9f125a4"
            },
            {
              "fixed": "01f5f7976c24d6e9beef6b5a410af3b9b1d4d476"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "8311ee2164c5cd1b63a601ea366f540eae89f10e"
            },
            {
              "fixed": "d61bcec3aec6f0244a9b963e0c76c00f771d49b6"
            },
            {
              "fixed": "7434c64ddae88a02e7fb478bc256cc100d48d3e3"
            },
            {
              "fixed": "0d645c6d13fa0597935d3d16b09a7ba5d24ed284"
            },
            {
              "fixed": "40ad0334c17b23d8b66b1082ad1478a6202e90e2"
            },
            {
              "fixed": "da06a104f0486355073ff0d1bcb1fcbebb7080d6"
            },
            {
              "fixed": "9b812ceb75a6260c17c91db4b9e74ead8cfa06f5"
            },
            {
              "fixed": "63542bb402b7013171c9f621c28b609eda4dbf1f"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "last_affected": "ff056817560d72363b463ddac27822dc8c121280"
            },
            {
              "last_affected": "683b47d0ebb10ba0d272604b09686e023d10d40c"
            },
            {
              "last_affected": "a5bf7ef13ebf6adf62a69ab3542d4fc0564c082e"
            },
            {
              "last_affected": "f2ca988aba4eaad1319e80eb1316a4ba5dbd6897"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "5.10.58"
            },
            {
              "fixed": "5.10.259"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "4.14.244"
            },
            {
              "fixed": "4.15"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "4.19.203"
            },
            {
              "fixed": "4.20"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "5.4.140"
            },
            {
              "fixed": "5.5"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        },
        {
          "events": [
            {
              "introduced": "5.13.10"
            },
            {
              "fixed": "5.14"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "5.10.259"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.11.0"
            },
            {
              "fixed": "5.15.209"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.14.0"
            },
            {
              "fixed": "6.1.175"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "5.16.0"
            },
            {
              "fixed": "6.6.140"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.2.0"
            },
            {
              "fixed": "6.12.80"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.7.0"
            },
            {
              "fixed": "6.18.21"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.19.11"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31489.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nspi: meson-spicc: Fix double-put in remove path\n\nmeson_spicc_probe() registers the controller with\ndevm_spi_register_controller(), so teardown already drops the\ncontroller reference via devm cleanup.\n\nCalling spi_controller_put() again in meson_spicc_remove()\ncauses a double-put.",
  "id": "CVE-2026-31489",
  "modified": "2026-07-15T01:49:07.834108494Z",
  "published": "2026-04-22T13:54:13.602Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/01f5f7976c24d6e9beef6b5a410af3b9b1d4d476"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/0d645c6d13fa0597935d3d16b09a7ba5d24ed284"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/40ad0334c17b23d8b66b1082ad1478a6202e90e2"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/63542bb402b7013171c9f621c28b609eda4dbf1f"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/7434c64ddae88a02e7fb478bc256cc100d48d3e3"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/9b812ceb75a6260c17c91db4b9e74ead8cfa06f5"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/d61bcec3aec6f0244a9b963e0c76c00f771d49b6"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/da06a104f0486355073ff0d1bcb1fcbebb7080d6"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31489.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-31489"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.8.0",
  "summary": "spi: meson-spicc: Fix double-put in remove path"
}