In the Linux kernel, the following vulnerability has been resolved:
userfaultfd: fix a crash in UFFDIO_MOVE when PMD is a migration entry
When UFFDIOMOVE encounters a migration PMD entry, it proceeds with obtaining a folio and accessing it even though the entry is swpentryt. Add the missing check and let splithuge_pmd() handle migration entries. While at it also remove unnecessary folio check.
[surenb@google.com: remove extra folio check, per David]
[
{
"id": "CVE-2025-38686-4b6a5016",
"target": {
"file": "mm/userfaultfd.c",
"function": "move_pages"
},
"digest": {
"length": 2741.0,
"function_hash": "222244079681892932817046103438695276640"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7f1101a0a181243ad587ececdffc4845f035549f",
"signature_version": "v1"
},
{
"id": "CVE-2025-38686-63a8733f",
"target": {
"file": "mm/userfaultfd.c",
"function": "move_pages"
},
"digest": {
"length": 2741.0,
"function_hash": "222244079681892932817046103438695276640"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1202abad7a7ccd28c426d2844771a387b07629a4",
"signature_version": "v1"
},
{
"id": "CVE-2025-38686-6d97eda5",
"target": {
"file": "mm/userfaultfd.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"76265045033513221387792500184336823614",
"10319897036879182590100141276004763823",
"289091684188587031646123147849737831438",
"116241920203780549549085342678688892090",
"76881172505675602965390578499454019316",
"270453985868186050354423131679423928594",
"289590879374708904209278326023134497032",
"19790862747922323259221564165958107915",
"194281171052284298808552699449716007072"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1202abad7a7ccd28c426d2844771a387b07629a4",
"signature_version": "v1"
},
{
"id": "CVE-2025-38686-7d11a729",
"target": {
"file": "mm/userfaultfd.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"76265045033513221387792500184336823614",
"10319897036879182590100141276004763823",
"289091684188587031646123147849737831438",
"116241920203780549549085342678688892090",
"76881172505675602965390578499454019316",
"270453985868186050354423131679423928594",
"289590879374708904209278326023134497032",
"19790862747922323259221564165958107915",
"194281171052284298808552699449716007072"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7f1101a0a181243ad587ececdffc4845f035549f",
"signature_version": "v1"
},
{
"id": "CVE-2025-38686-87cf3524",
"target": {
"file": "mm/userfaultfd.c",
"function": "move_pages"
},
"digest": {
"length": 2741.0,
"function_hash": "222244079681892932817046103438695276640"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bb81c18dbd42650c844e160cafa7cbb20243a96a",
"signature_version": "v1"
},
{
"id": "CVE-2025-38686-c5994d38",
"target": {
"file": "mm/userfaultfd.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"76265045033513221387792500184336823614",
"10319897036879182590100141276004763823",
"289091684188587031646123147849737831438",
"116241920203780549549085342678688892090",
"76881172505675602965390578499454019316",
"270453985868186050354423131679423928594",
"289590879374708904209278326023134497032",
"19790862747922323259221564165958107915",
"194281171052284298808552699449716007072"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bb81c18dbd42650c844e160cafa7cbb20243a96a",
"signature_version": "v1"
}
]