UBUNTU-CVE-2024-41012
In the Linux kernel, the following vulnerability has been resolved: filelock: Remove locks reliably when fcntl/close race is detected When fcntl_setlk() races with close(), it removes the created lock with do_lock_file_wait(). However, LSMs can allow the first do_lock_file_wait() that created the lock while denying the second do_lock_file_wait() that tries to remove the lock. Separately, posix_lock_file() could also fail to remove a lock due to GFP_KERNEL allocation failure (when splitting a range in the middle). After the bug has been triggered, use-after-free reads will occur in lock_get_status() when userspace reads /proc/locks. This can likely be used to read arbitrary kernel memory, but can't corrupt kernel memory. Fix it by calling locks_remove_posix() instead, which is designed to reliably get rid of POSIX locks associated with the given file and files_struct and is also used by filp_flush().
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
38 explicit affected versions
52 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
19 explicit affected versions
6 explicit affected versions
61 explicit affected versions
12 explicit affected versions
47 explicit affected versions
68 explicit affected versions
57 explicit affected versions
47 explicit affected versions
10 explicit affected versions
6 explicit affected versions
12 explicit affected versions
54 explicit affected versions
191 explicit affected versions
7 explicit affected versions
53 explicit affected versions
7 explicit affected versions
95 explicit affected versions
13 explicit affected versions
68 explicit affected versions
9 explicit affected versions
35 explicit affected versions
14 explicit affected versions
18 explicit affected versions
18 explicit affected versions
15 explicit affected versions
99 explicit affected versions
64 explicit affected versions
12 explicit affected versions
97 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
104 explicit affected versions
16 explicit affected versions
1 explicit affected versions
21 explicit affected versions
16 explicit affected versions
10 explicit affected versions
52 explicit affected versions
14 explicit affected versions
7 explicit affected versions
12 explicit affected versions
45 explicit affected versions
12 explicit affected versions
14 explicit affected versions
7 explicit affected versions
85 explicit affected versions
12 explicit affected versions
100 explicit affected versions
108 explicit affected versions
12 explicit affected versions
7 explicit affected versions
96 explicit affected versions
103 explicit affected versions
14 explicit affected versions
7 explicit affected versions
1 explicit affected versions
10 explicit affected versions
170 explicit affected versions
37 explicit affected versions
13 explicit affected versions
5 explicit affected versions
10 explicit affected versions
33 explicit affected versions
1 explicit affected versions
35 explicit affected versions
26 explicit affected versions
13 explicit affected versions
9 explicit affected versions
1 explicit affected versions
29 explicit affected versions
88 explicit affected versions
13 explicit affected versions
58 explicit affected versions
6 explicit affected versions
7 explicit affected versions
1 explicit affected versions
83 explicit affected versions
56 explicit affected versions
100 explicit affected versions
18 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
1 explicit affected versions
97 explicit affected versions
11 explicit affected versions
12 explicit affected versions
120 explicit affected versions
7 explicit affected versions
12 explicit affected versions
98 explicit affected versions
2 explicit affected versions
45 explicit affected versions
39 explicit affected versions
113 explicit affected versions
55 explicit affected versions
147 explicit affected versions
133 explicit affected versions
10 explicit affected versions
26 explicit affected versions
14 explicit affected versions
34 explicit affected versions
1 explicit affected versions
5 explicit affected versions
15 explicit affected versions
13 explicit affected versions
14 explicit affected versions
120 explicit affected versions
58 explicit affected versions
16 explicit affected versions
58 explicit affected versions
15 explicit affected versions
46 explicit affected versions
3 explicit affected versions
74 explicit affected versions
1 explicit affected versions
2 explicit affected versions
65 explicit affected versions
51 explicit affected versions
73 explicit affected versions
12 explicit affected versions
12 explicit affected versions
44 explicit affected versions
27 explicit affected versions
30 explicit affected versions
1 explicit affected versions
1 explicit affected versions
77 explicit affected versions
8 explicit affected versions
8 explicit affected versions
19 explicit affected versions
5 explicit affected versions
8 explicit affected versions
1 explicit affected versions
10 explicit affected versions
11 explicit affected versions
13 explicit affected versions
87 explicit affected versions
13 explicit affected versions
52 explicit affected versions
7 explicit affected versions
75 explicit affected versions
50 explicit affected versions
10 explicit affected versions
14 explicit affected versions
12 explicit affected versions
87 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
44 explicit affected versions
37 explicit affected versions
15 explicit affected versions
14 explicit affected versions
38 explicit affected versions
47 explicit affected versions
9 explicit affected versions
47 explicit affected versions
11 explicit affected versions
6 explicit affected versions
1 explicit affected versions
55 explicit affected versions
7 explicit affected versions
28 explicit affected versions
80 explicit affected versions
59 explicit affected versions
124 explicit affected versions
103 explicit affected versions
4 explicit affected versions
1 explicit affected versions
1 explicit affected versions
53 explicit affected versions
96 explicit affected versions
13 explicit affected versions
43 explicit affected versions
53 explicit affected versions
127 explicit affected versions
147 explicit affected versions
10 explicit affected versions
8 explicit affected versions
10 explicit affected versions
14 explicit affected versions
88 explicit affected versions
4 explicit affected versions
77 explicit affected versions
11 explicit affected versions
1 explicit affected versions
50 explicit affected versions
8 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: filelock: Remove locks reliably when fcntl/close race is detected When fcntl_setlk() races with close(), it removes the created lock with do_lock_file_wait(). However, LSMs can allow the first do_lock_file_wait() that created the lock while denying the second do_lock_file_wait() that tries to remove the lock. Separately, posix_lock_file() could also fail to remove a lock due to GFP_KERNEL allocation failure (when splitting a range in the middle). After the bug has been triggered, use-after-free reads will occur in lock_get_status() when userspace reads /proc/locks. This can likely be used to read arbitrary kernel memory, but can't corrupt kernel memory. Fix it by calling locks_remove_posix() instead, which is designed to reliably get rid of POSIX locks associated with the given file and files_struct and is also used by filp_flush().
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/3cad1bc010416c6dd780643476bc59ed742436b9
- https://git.kernel.org/stable/c/3cad1bc010416c6dd780643476bc59ed742436b9
- https://git.kernel.org/stable/c/b6d223942c34057fdfd8f149e763fa823731b224
- https://ubuntu.com/security/CVE-2024-41012
- https://ubuntu.com/security/notices/USN-7088-1
- https://ubuntu.com/security/notices/USN-7088-2
- https://ubuntu.com/security/notices/USN-7088-3
- https://ubuntu.com/security/notices/USN-7088-4
- https://ubuntu.com/security/notices/USN-7088-5
- https://ubuntu.com/security/notices/USN-7089-1
- https://ubuntu.com/security/notices/USN-7089-2
- https://ubuntu.com/security/notices/USN-7089-3
- https://ubuntu.com/security/notices/USN-7089-4
- https://ubuntu.com/security/notices/USN-7089-5
- https://ubuntu.com/security/notices/USN-7089-6
- https://ubuntu.com/security/notices/USN-7089-7
- https://ubuntu.com/security/notices/USN-7090-1
- https://ubuntu.com/security/notices/USN-7095-1
- https://ubuntu.com/security/notices/USN-7100-1
- https://ubuntu.com/security/notices/USN-7100-2
- https://ubuntu.com/security/notices/USN-7119-1
- https://ubuntu.com/security/notices/USN-7123-1
- https://ubuntu.com/security/notices/USN-7144-1
- https://ubuntu.com/security/notices/USN-7156-1
- https://ubuntu.com/security/notices/USN-7194-1
- https://ubuntu.com/security/notices/USN-7233-1
- https://ubuntu.com/security/notices/USN-7233-2
- https://ubuntu.com/security/notices/USN-7233-3
- https://ubuntu.com/security/notices/USN-7262-1
- https://ubuntu.com/security/notices/USN-7262-2
- https://www.cve.org/CVERecord?id=CVE-2024-41012