CVE-2024-41012
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
23/07/2024
Last modified:
12/09/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
filelock: Remove locks reliably when fcntl/close race is detected<br />
<br />
When fcntl_setlk() races with close(), it removes the created lock with<br />
do_lock_file_wait().<br />
However, LSMs can allow the first do_lock_file_wait() that created the lock<br />
while denying the second do_lock_file_wait() that tries to remove the lock.<br />
Separately, posix_lock_file() could also fail to<br />
remove a lock due to GFP_KERNEL allocation failure (when splitting a range<br />
in the middle).<br />
<br />
After the bug has been triggered, use-after-free reads will occur in<br />
lock_get_status() when userspace reads /proc/locks. This can likely be used<br />
to read arbitrary kernel memory, but can&#39;t corrupt kernel memory.<br />
<br />
Fix it by calling locks_remove_posix() instead, which is designed to<br />
reliably get rid of POSIX locks associated with the given file and<br />
files_struct and is also used by filp_flush().
Impact
Base Score 3.x
6.30
Severity 3.x
MEDIUM
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.13 (including) | 4.19.319 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.281 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.223 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.164 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.101 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.42 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.9.9 (excluding) |
cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.10:rc6:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/3cad1bc010416c6dd780643476bc59ed742436b9
- https://git.kernel.org/stable/c/52c87ab18c76c14d7209646ccb3283b3f5d87b22
- https://git.kernel.org/stable/c/5661b9c7ec189406c2dde00837aaa4672efb6240
- https://git.kernel.org/stable/c/5f5d0799eb0a01d550c21b7894e26b2d9db55763
- https://git.kernel.org/stable/c/b6d223942c34057fdfd8f149e763fa823731b224
- https://git.kernel.org/stable/c/d30ff33040834c3b9eee29740acd92f9c7ba2250
- https://git.kernel.org/stable/c/dc2ce1dfceaa0767211a9d963ddb029ab21c4235
- https://git.kernel.org/stable/c/ef8fc41cd6f95f9a4a3470f085aecf350569a0b3