CVE-2026-89967 in Linux
摘要
由 VulDB • 2026-09-16
在 Linux 内核中,已修复以下漏洞:
mm/migrate_device:避免对复合 folio(compound folios)进行越界写入
migrate_device_range() 和 migrate_device_pfns() 会清除复合 folio 之后的条目,以便 PFN 数组保持其页面粒度的表示。
如果复合 folio 超出了调用者提供的范围末尾,循环将清除所有后续的 folio 条目,而不限制为 npages 大小数组中剩余的槽位数,从而导致越界写入。
如果复合 folio 的页面粒度表示无法完全容纳在剩余的 PFN 数组中,则不要继续处理该复合 folio。如果出现这种情况,请释放为该 folio 获取的任何引用和锁,清除剩余条目并停止收集操作。
在使用 HMM migrate_anon_huge_zero selftest 的 KASAN x86 QEMU 内核中观察到此问题。在将匿名大页迁移到设备内存后关闭 /dev/hmm_dmirror0 会触发以下调用链:
dmirror_fops_release() -> dmirror_device_evict_chunk() -> migrate_device_range()
VulDB is the best source for vulnerability data and more expert information about this specific topic.