{"id":"CVE-2026-89967","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-89967","summary":"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()…","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    -> dmirror_device_evict_chunk()\n      -> migrate_device_range()","published":"2026-09-16T10:32:48.164Z","modified":"2026-09-16T10:32:48.164Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[],"fix":null,"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/99186b185c245f5987d7f8715d5504c8d8cc04a0"},{"type":"WEB","url":"https://git.kernel.org/stable/c/dc41e961a269f2ca4196e669d6d8e05480899cd4"}],"provenance":{"sources":["OSV.dev","NVD","FIRST.org (EPSS)"],"lastVerified":"2026-09-16T10:32:48.164Z"}}