CVE-2023-54226 in Linux
요약
\~에 의해 VulDB • 2026. 06. 02.
리눅스 커널에서 다음 취약점이 해결되었습니다:
af_unix: sk->sk_shutdown 주변 데이터 레이스 수정
KCSAN은 unix_state_lock() 하에서 unix_release_sock()과 unix_shutdown()이 업데이트하는 동안, unix_poll()과 unix_dgram_poll()이 잠금 없이 읽는 sk->skshutdown 주변의 데이터 레이스를 발견했습니다.
쓰기 및 읽기에 WRITE_ONCE()와 READ_ONCE()로 주석을 추가해야 합니다.
BUG: KCSAN: unix_poll / unix_release_sock 내의 data-race
task 264가 cpu 0에서 1바이트 크기의 0xffff88800d0f8aec 주소에 쓰기 수행: unix_release_sock+0x75c/0x910 net/unix/af_unix.c:631 unix_release+0x59/0x80 net/unix/af_unix.c:1042 __sock_release+0x7d/0x170 net/socket.c:653 sock_close+0x19/0x30 net/socket.c:1397 __fput+0x179/0x5e0 fs/file_table.c:321 ____fput+0x15/0x20 fs/file_table.c:349 task_work_run+0x116/0x1a0 kernel/task_work.c:179 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
exit_to_user_mode_loop kernel/entry/common.c:171 [inline]
exit_to_user_mode_prepare+0x174/0x180 kernel/entry/common.c:204 __syscall_exit_to_user_mode_work kernel/entry/common.c:286 [inline]
syscall_exit_to_user_mode+0x1a/0x30 kernel/entry/common.c:297 do_syscall_64+0x4b/0x90 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x72/0xdc
task 222가 cpu 1에서 1바이트 크기의 0xffff88800d0f8aec 주소 읽기 수행: unix_poll+0xa3/0x2a0 net/unix/af_unix.c:3170 sock_poll+0xcf/0x2b0 net/socket.c:1385 vfs_poll include/linux/poll.h:88 [inline]
ep_item_poll.isra.0+0x78/0xc0 fs/eventpoll.c:855 ep_send_events fs/eventpoll.c:1694 [inline]
ep_poll fs/eventpoll.c:1823 [inline]
do_epoll_wait+0x6c4/0xea0 fs/eventpoll.c:2258 __do_sys_epoll_wait fs/eventpoll.c:2270 [inline]
__se_sys_epoll_wait fs/eventpoll.c:2265 [inline]
__x64_sys_epoll_wait+0xcc/0x190 fs/eventpoll.c:2265 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x3b/0x90 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x72/0xdc
값 변경됨: 0x00 -> 0x03
커널 동시성 검사기(Kernel Concurrency Sanitizer)에서 보고함: CPU: 1 PID: 222 Comm: dbus
If you want to get best quality of vulnerability data, you may have to visit VulDB.