CVE-2024-50271: signal: restore the override_rlimit logic
In the Linux kernel, the following vulnerability has been resolved:
signal: restore the overriderlimit logic
Prior to commit d64696905554 ("Reimplement RLIMITSIGPENDING on top of ucounts") UCOUNTRLIMITSIGPENDING rlimit was not enforced for a class of signals. However now it's enforced unconditionally, even if overriderlimit is set. This behavior change caused production issues.
For example, if the limit is reached and a process receives a SIGSEGV signal, sigqueuealloc fails to allocate the necessary resources for the signal delivery, preventing the signal from being delivered with siginfo. This prevents the process from correctly identifying the fault address and handling the error. From the user-space perspective, applications are unaware that the limit has been reached and that the siginfo is effectively 'corrupted'. This can lead to unpredictable behavior and crashes, as we observed with java applications.
Fix this by passing overriderlimit into incrlimitgetucounts() and skip the comparison to max there if overriderlimit is set. This effectively restores the old behavior.
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 - Upgrade
Upgrade
debian/linux-6.1to a version that resolves this vulnerability.Fixed in 6.1.129-1~deb11u1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.64.2-1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Patch d64696905554
Event History
Frequently Asked Questions
What is the severity of CVE-2024-50271?
CVE-2024-50271 has a high severity due to the potential for exploitation in the Linux kernel affecting signal handling.
How do I fix CVE-2024-50271?
To fix CVE-2024-50271, update the Linux kernel to a version that includes the patch for this vulnerability.
Which versions of the Linux kernel are affected by CVE-2024-50271?
CVE-2024-50271 affects multiple versions of the Linux kernel between 5.14 and 6.11.8, as well as certain 6.12 release candidates.
What types of systems are at risk from CVE-2024-50271?
Systems running affected versions of the Linux kernel could be at risk due to improper enforcement of the rlimit for signals.
Is there a specific mitigation for CVE-2024-50271 if an update cannot be applied?
Currently, the only effective mitigation for CVE-2024-50271 is to apply the kernel update to ensure the rlimit for signals is enforced properly.