Vulnerabilidad en kernel de Linux (CVE-2024-38596)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-362
Ejecución concurrente utilizando recursos compartidos con una incorrecta sincronización (Condición de carrera)
Fecha de publicación:
19/06/2024
Última modificación:
17/09/2025
Descripción
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: af_unix: corrige ejecucións de datos en unix_release_sock/unix_stream_sendmsg Se identificó una condición de ejecución de datos en af_unix. En una ruta de datos, la función de escritura unix_release_sock() escribe atómicamente en sk->sk_shutdown usando WRITE_ONCE. Sin embargo, en el lado del lector, unix_stream_sendmsg() no lo lee atómicamente. En consecuencia, este problema está provocando que se produzca el siguiente símbolo de KCSAN: ERROR: KCSAN: data-race en unix_release_sock / unix_stream_sendmsg escribe (marcado) en 0xffff88867256ddbb de 1 byte por tarea 7270 en la CPU 28: unix_release_sock (net/unix/af_unix.c: 640) unix_release (net/unix/af_unix.c:1050) sock_close (net/socket.c:659 net/socket.c:1421) __fput (fs/file_table.c:422) __fput_sync (fs/file_table.c:508 ) __se_sys_close (fs/open.c:1559 fs/open.c:1541) __x64_sys_close (fs/open.c:1541) x64_sys_call (arch/x86/entry/syscall_64.c:33) do_syscall_64 (arch/x86/entry/ common.c:?) Entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) leído en 0xffff88867256ddbb de 1 bytes por la tarea 989 en la CPU 14: unix_stream_sendmsg (net/unix/af_unix.c:2273) __sock_sendmsg (net/socket .c:730 net/socket.c:745) ____sys_sendmsg (net/socket.c:2584) __sys_sendmmsg (net/socket.c:2638 net/socket.c:2724) __x64_sys_sendmmsg (net/socket.c:2753 net/ socket.c:2750 net/socket.c:2750) x64_sys_call (arch/x86/entry/syscall_64.c:33) do_syscall_64 (arch/x86/entry/common.c:?) Entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64 .S:130) valor cambiado: 0x01 -> 0x03 Los números de línea están relacionados con el commit dd5a440a31fa ("Linux 6.9-rc7"). El commit e1d09c2c2f57 ("af_unix: corregir ejecucións de datos alrededor de sk->sk_shutdown.") abordó un problema comparable en el pasado con respecto a sk->sk_shutdown. Sin embargo, pasó por alto resolver esta ruta de datos en particular. Este parche solo ofende la función unix_stream_sendmsg(), ya que las otras lecturas parecen estar protegidas por unix_state_lock() como se explica en
Impacto
Puntuación base 3.x
4.70
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.13 (incluyendo) | 4.19.316 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (incluyendo) | 5.4.278 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.219 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.161 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.93 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.33 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.8.12 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.9 (incluyendo) | 6.9.3 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:2.6.12:-:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:2.6.12:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:2.6.12:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:2.6.12:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:2.6.12:rc5:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/0688d4e499bee3f2749bca27329bd128686230cb
- https://git.kernel.org/stable/c/4d51845d734a4c5d079e56e0916f936a55e15055
- https://git.kernel.org/stable/c/540bf24fba16b88c1b3b9353927204b4f1074e25
- https://git.kernel.org/stable/c/8299e4d778f664b31b67cf4cf3d5409de2ecb92c
- https://git.kernel.org/stable/c/9aa8773abfa0e954136875b4cbf2df4cf638e8a5
- https://git.kernel.org/stable/c/a4c88072abcaca593cefe70f90e9d3707526e8f9
- https://git.kernel.org/stable/c/a52fa2addfcccc2c5a0217fd45562605088c018b
- https://git.kernel.org/stable/c/de6641d213373fbde9bbdd7c4b552254bc9f82fe
- https://git.kernel.org/stable/c/fca6072e1a7b1e709ada5604b951513b89b4bd0a
- https://git.kernel.org/stable/c/0688d4e499bee3f2749bca27329bd128686230cb
- https://git.kernel.org/stable/c/4d51845d734a4c5d079e56e0916f936a55e15055
- https://git.kernel.org/stable/c/540bf24fba16b88c1b3b9353927204b4f1074e25
- https://git.kernel.org/stable/c/8299e4d778f664b31b67cf4cf3d5409de2ecb92c
- https://git.kernel.org/stable/c/9aa8773abfa0e954136875b4cbf2df4cf638e8a5
- https://git.kernel.org/stable/c/a4c88072abcaca593cefe70f90e9d3707526e8f9
- https://git.kernel.org/stable/c/a52fa2addfcccc2c5a0217fd45562605088c018b
- https://git.kernel.org/stable/c/de6641d213373fbde9bbdd7c4b552254bc9f82fe
- https://git.kernel.org/stable/c/fca6072e1a7b1e709ada5604b951513b89b4bd0a