CVE-2024-50271

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
19/11/2024
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> signal: restore the override_rlimit logic<br /> <br /> Prior to commit d64696905554 ("Reimplement RLIMIT_SIGPENDING on top of<br /> ucounts") UCOUNT_RLIMIT_SIGPENDING rlimit was not enforced for a class of<br /> signals. However now it&amp;#39;s enforced unconditionally, even if<br /> override_rlimit is set. This behavior change caused production issues. <br /> <br /> For example, if the limit is reached and a process receives a SIGSEGV<br /> signal, sigqueue_alloc fails to allocate the necessary resources for the<br /> signal delivery, preventing the signal from being delivered with siginfo. <br /> This prevents the process from correctly identifying the fault address and<br /> handling the error. From the user-space perspective, applications are<br /> unaware that the limit has been reached and that the siginfo is<br /> effectively &amp;#39;corrupted&amp;#39;. This can lead to unpredictable behavior and<br /> crashes, as we observed with java applications.<br /> <br /> Fix this by passing override_rlimit into inc_rlimit_get_ucounts() and skip<br /> the comparison to max there if override_rlimit is set. This effectively<br /> restores the old behavior.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.14 (including) 6.1.117 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.61 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.11.8 (excluding)
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc6:*:*:*:*:*:*