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().
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
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:*:*:*:*:*:*

History

12 Sep 2024, 15:28

Type Values Removed Values Added
CWE CWE-416
References () https://git.kernel.org/stable/c/3cad1bc010416c6dd780643476bc59ed742436b9 - () https://git.kernel.org/stable/c/3cad1bc010416c6dd780643476bc59ed742436b9 - Patch
References () https://git.kernel.org/stable/c/52c87ab18c76c14d7209646ccb3283b3f5d87b22 - () https://git.kernel.org/stable/c/52c87ab18c76c14d7209646ccb3283b3f5d87b22 - Patch
References () https://git.kernel.org/stable/c/5661b9c7ec189406c2dde00837aaa4672efb6240 - () https://git.kernel.org/stable/c/5661b9c7ec189406c2dde00837aaa4672efb6240 - Patch
References () https://git.kernel.org/stable/c/5f5d0799eb0a01d550c21b7894e26b2d9db55763 - () https://git.kernel.org/stable/c/5f5d0799eb0a01d550c21b7894e26b2d9db55763 - Patch
References () https://git.kernel.org/stable/c/b6d223942c34057fdfd8f149e763fa823731b224 - () https://git.kernel.org/stable/c/b6d223942c34057fdfd8f149e763fa823731b224 - Patch
References () https://git.kernel.org/stable/c/d30ff33040834c3b9eee29740acd92f9c7ba2250 - () https://git.kernel.org/stable/c/d30ff33040834c3b9eee29740acd92f9c7ba2250 - Patch
References () https://git.kernel.org/stable/c/dc2ce1dfceaa0767211a9d963ddb029ab21c4235 - () https://git.kernel.org/stable/c/dc2ce1dfceaa0767211a9d963ddb029ab21c4235 - Patch
References () https://git.kernel.org/stable/c/ef8fc41cd6f95f9a4a3470f085aecf350569a0b3 - () https://git.kernel.org/stable/c/ef8fc41cd6f95f9a4a3470f085aecf350569a0b3 - Patch
CPE cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc6:*:*:*:*:*:*
First Time Linux linux Kernel
Linux
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 6.3

29 Jul 2024, 07:15

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/52c87ab18c76c14d7209646ccb3283b3f5d87b22 -
  • () https://git.kernel.org/stable/c/5661b9c7ec189406c2dde00837aaa4672efb6240 -
  • () https://git.kernel.org/stable/c/d30ff33040834c3b9eee29740acd92f9c7ba2250 -
  • () https://git.kernel.org/stable/c/dc2ce1dfceaa0767211a9d963ddb029ab21c4235 -

25 Jul 2024, 09:15

Type Values Removed Values Added
References
  • () https://git.kernel.org/stable/c/5f5d0799eb0a01d550c21b7894e26b2d9db55763 -
  • () https://git.kernel.org/stable/c/ef8fc41cd6f95f9a4a3470f085aecf350569a0b3 -

24 Jul 2024, 12:55

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: filelock: Elimina bloqueos de manera confiable cuando se detecta fcntl/close race Cuando fcntl_setlk() corre con close(), elimina el bloqueo creado con do_lock_file_wait(). Sin embargo, los LSM pueden permitir el primer do_lock_file_wait() que creó el bloqueo y al mismo tiempo negar el segundo do_lock_file_wait() que intenta eliminar el bloqueo. Por separado, posix_lock_file() también podría no eliminar un bloqueo debido a un fallo en la asignación de GFP_KERNEL (al dividir un rango por la mitad). Después de que se haya activado el error, se producirán lecturas de use-after-free en lock_get_status() cuando el espacio de usuario lea /proc/locks. Es probable que esto se pueda usar para leer memoria del kernel arbitraria, pero no puede dañar la memoria del kernel. Solucionelo llamando a locks_remove_posix() en su lugar, que está diseñado para deshacerse de manera confiable de los bloqueos POSIX asociados con el archivo dado y files_struct y también lo usa filp_flush().

23 Jul 2024, 08:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-07-23 08:15

Updated : 2024-09-12 15:28


NVD link : CVE-2024-41012

Mitre link : CVE-2024-41012

CVE.ORG link : CVE-2024-41012


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free