CVE-2024-50263: fork: only invoke khugepaged, ksm hooks if no error
In the Linux kernel, the following vulnerability has been resolved:
fork: only invoke khugepaged, ksm hooks if no error
There is no reason to invoke these hooks early against an mm that is in an incomplete state.
The change in commit d24062914837 ("fork: use mtdup() to duplicate maple tree in dupmmap()") makes this more pertinent as we may be in a state where entries in the maple tree are not yet consistent.
Their placement early in dupmmap() only appears to have been meaningful for early error checking, and since functionally it'd require a very small allocation to fail (in practice 'too small to fail') that'd only occur in the most dire circumstances, meaning the fork would fail or be OOM'd in any case.
Since both khugepaged and KSM tracking are there to provide optimisations to memory performance rather than critical functionality, it doesn't really matter all that much if, under such dire memory pressure, we fail to register an mm with these.
As a result, we follow the example of commit d2081b2bf819 ("mm: khugepaged: make khugepagedenter() void function") and make ksmfork() a void function also.
We only expose the mm to these functions once we are done with them and only if no error occurred in the fork operation.
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 5.10.223-1Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.25-1
Event History
Frequently Asked Questions
What is the severity of CVE-2024-50263?
CVE-2024-50263 has been classified with a low severity level due to its specific conditions requiring incomplete memory states.
How do I fix CVE-2024-50263?
To fix CVE-2024-50263, upgrade the Linux kernel to version 6.12-rc6 or later.
Which versions of the Linux kernel are affected by CVE-2024-50263?
CVE-2024-50263 affects Linux kernel versions from 6.8 to 6.11.7 and 6.12-rc1 through 6.12-rc5.
What types of exploits are possible with CVE-2024-50263?
Exploiting CVE-2024-50263 may lead to unexpected behavior in memory management during the fork operation.
Is there a workaround for CVE-2024-50263?
There are no known workarounds for CVE-2024-50263 other than applying the kernel update.