CVE-2024-38596

af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg

State
Published
Severity
Not scored
Published
Jun 19, 2024
Updated
Oct 15, 2026
Reserved
Jun 18, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg

A data-race condition has been identified in af_unix. In one data path, the write function unix_release_sock() atomically writes to sk->sk_shutdown using WRITE_ONCE. However, on the reader side, unix_stream_sendmsg() does not read it atomically. Consequently, this issue is causing the following KCSAN splat to occur:

BUG: KCSAN: data-race in unix_release_sock / unix_stream_sendmsg

write (marked) to 0xffff88867256ddbb of 1 bytes by task 7270 on 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)

read to 0xffff88867256ddbb of 1 bytes by task 989 on 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)

value changed: 0x01 -> 0x03

The line numbers are related to commit dd5a440a31fa ("Linux 6.9-rc7").

Commit e1d09c2c2f57 ("af_unix: Fix data races around sk->sk_shutdown.") addressed a comparable issue in the past regarding sk->sk_shutdown. However, it overlooked resolving this particular data path. This patch only offending unix_stream_sendmsg() function, since the other reads seem to be protected by unix_state_lock() as discussed in

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before fca6072e1a7b1e709ada5604b951513b89b4bd0aAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before de6641d213373fbde9bbdd7c4b552254bc9f82feAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 4d51845d734a4c5d079e56e0916f936a55e15055Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 9aa8773abfa0e954136875b4cbf2df4cf638e8a5Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 8299e4d778f664b31b67cf4cf3d5409de2ecb92cAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 0688d4e499bee3f2749bca27329bd128686230cbAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before a4c88072abcaca593cefe70f90e9d3707526e8f9Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before a52fa2addfcccc2c5a0217fd45562605088c018bAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 540bf24fba16b88c1b3b9353927204b4f1074e25Affected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 4.19.316 through 4.19.*Not affected
  • 5.4.278 through 5.4.*Not affected
  • 5.10.219 through 5.10.*Not affected
  • 5.15.161 through 5.15.*Not affected
  • 6.1.93 through 6.1.*Not affected
  • 6.6.33 through 6.6.*Not affected
  • 6.8.12 through 6.8.*Not affected
  • 6.9.3 through 6.9.*Not affected
  • 6.10 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.