In the Linux kernel, the following vulnerability has been resolved:
userfaultfd: change srcfolio after ensuring it's unpinned in UFFDIOMOVE
Commit d7a08838ab74 ("mm: userfaultfd: fix unexpected change to srcfolio when UFFDIOMOVE fails") moved the src_folio->{mapping, index} changing to after clearing the page-table and ensuring that it's not pinned. This avoids failure of swapout+migration and possibly memory corruption.
However, the commit missed fixing it in the huge-page case.
{ "vanir_signatures": [ { "deprecated": false, "signature_type": "Function", "target": { "file": "mm/huge_memory.c", "function": "move_pages_huge_pmd" }, "signature_version": "v1", "digest": { "length": 2127.0, "function_hash": "340176901195800190894746941608185170188" }, "id": "CVE-2024-27007-47e3acfc", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df5f6e683e7f21a15d8be6e7a0c7a46436963ebe" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "mm/huge_memory.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "23759681854080917725572311687060867284", "166109542958895183105162408500109629459", "280005077936918461776488163942645822763", "263791309033487465190817732216090951555", "107713488539672584819762779661265372049", "142993249396626294271898599460446890090", "300975443775218608517338204467178351980", "177334269480807726779723606399320645971" ], "threshold": 0.9 }, "id": "CVE-2024-27007-d517e733", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@df5f6e683e7f21a15d8be6e7a0c7a46436963ebe" } ] }