{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "a30b48bf1b244f11bf9b6d20cdccfe0c2264130c"
            },
            {
              "fixed": "99186b185c245f5987d7f8715d5504c8d8cc04a0"
            },
            {
              "fixed": "dc41e961a269f2ca4196e669d6d8e05480899cd4"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.2.5"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89967.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm/migrate_device: avoid out-of-bounds writes for compound folios\n\nmigrate_device_range() and migrate_device_pfns() clear the entries\nfollowing a compound folio so that the PFN arrays retain their\npage-granular representation.\n\nIf a compound folio extends beyond the end of the caller-provided range,\nthe loops clear all following folio entries without limiting them to the\nnumber of slots remaining in the npages-sized array, causing an\nout-of-bounds write.\n\nDo not proceed with a compound folio if its page-granular representation\ndoes not fit entirely in the remaining PFN array.  If this happens, drop\nany reference and lock acquired for the folio, clear the remaining\nentries, and stop collecting.\n\nObserved with a KASAN x86 QEMU kernel using the HMM migrate_anon_huge_zero\nselftest.  Closing /dev/hmm_dmirror0 after migrating an anonymous huge\npage to device memory exercises:\n\n  dmirror_fops_release()\n    -\u003e dmirror_device_evict_chunk()\n      -\u003e migrate_device_range()",
  "id": "CVE-2026-89967",
  "modified": "2026-09-18T03:30:21.043595334Z",
  "published": "2026-09-16T10:32:48.164Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/99186b185c245f5987d7f8715d5504c8d8cc04a0"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/dc41e961a269f2ca4196e669d6d8e05480899cd4"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89967.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-89967"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "mm/migrate_device: avoid out-of-bounds writes for compound folios"
}