CVE-2026-99169
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: futex: Fix mm reuse handling for FUT_OFF_MMSHARED A FUT_OFF_MMSHARED futex is a shared futex that refers to an MM. It is possible for a process to wait on a shared futex with a different MM because a FUT_OFF_INODE waiter can be requeued onto a FUT_OFF_MMSHARED futex by another process. This can cause FUT_OFF_MMSHARED waiters on a freed MM to consume wakeups intended for a newly allocated MM at the same address. Fix it by keying FUT_OFF_MMSHARED using a unique 64-bit per-MM ID. Leave private futexes as before to avoid influencing the performance of the hotpath. (Multi-threaded processes typically implicitly use FUT_OFF_MMSHARED by setting clear_child_tid such that it points into anonymous memory, which causes mm_release() in a multi-threaded mm to perform FUTEX_WAKE.)
View original CVE JSON
{
"id": "CVE-2026-99169",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-28T11:17:37.403",
"lastModified": "2026-10-28T11:17:37.403",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfutex: Fix mm reuse handling for FUT_OFF_MMSHARED\n\nA FUT_OFF_MMSHARED futex is a shared futex that refers to an MM.\nIt is possible for a process to wait on a shared futex with a different MM\nbecause a FUT_OFF_INODE waiter can be requeued onto a FUT_OFF_MMSHARED\nfutex by another process.\nThis can cause FUT_OFF_MMSHARED waiters on a freed MM to consume\nwakeups intended for a newly allocated MM at the same address.\n\nFix it by keying FUT_OFF_MMSHARED using a unique 64-bit per-MM ID.\nLeave private futexes as before to avoid influencing the performance of the\nhotpath.\n\n(Multi-threaded processes typically implicitly use FUT_OFF_MMSHARED by\nsetting clear_child_tid such that it points into anonymous memory, which\ncauses mm_release() in a multi-threaded mm to perform FUTEX_WAKE.)"
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"include/linux/futex.h",
"include/linux/futex_types.h",
"kernel/futex/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "222993395ed38f3751287f4bd82ef46b3eb3a66d",
"lessThan": "c17cc2027773e8e4913c5ab0fe3a489b1ed5bf81",
"versionType": "git",
"status": "affected"
},
{
"version": "222993395ed38f3751287f4bd82ef46b3eb3a66d",
"lessThan": "2855ddc6844f527e375e78afb55ec2a5182f23b3",
"versionType": "git",
"status": "affected"
},
{
"version": "222993395ed38f3751287f4bd82ef46b3eb3a66d",
"lessThan": "3267512ad1c2cc0c7768c5b014dc2cceb398a801",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"include/linux/futex.h",
"include/linux/futex_types.h",
"kernel/futex/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "5.7",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.7",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.59",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.13",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/2855ddc6844f527e375e78afb55ec2a5182f23b3",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/3267512ad1c2cc0c7768c5b014dc2cceb398a801",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c17cc2027773e8e4913c5ab0fe3a489b1ed5bf81",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}