CVE-2022-50555

Severity CVSS v4.0:
Pending analysis
Type:
CWE-476 NULL Pointer Dereference
Publication date:
07/10/2025
Last modified:
05/02/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> tipc: fix a null-ptr-deref in tipc_topsrv_accept<br /> <br /> syzbot found a crash in tipc_topsrv_accept:<br /> <br /> KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]<br /> Workqueue: tipc_rcv tipc_topsrv_accept<br /> RIP: 0010:kernel_accept+0x22d/0x350 net/socket.c:3487<br /> Call Trace:<br /> <br /> tipc_topsrv_accept+0x197/0x280 net/tipc/topsrv.c:460<br /> process_one_work+0x991/0x1610 kernel/workqueue.c:2289<br /> worker_thread+0x665/0x1080 kernel/workqueue.c:2436<br /> kthread+0x2e4/0x3a0 kernel/kthread.c:376<br /> ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306<br /> <br /> It was caused by srv-&gt;listener that might be set to null by<br /> tipc_topsrv_stop() in net .exit whereas it&amp;#39;s still used in<br /> tipc_topsrv_accept() worker.<br /> <br /> srv-&gt;listener is protected by srv-&gt;idr_lock in tipc_topsrv_stop(), so add<br /> a check for srv-&gt;listener under srv-&gt;idr_lock in tipc_topsrv_accept() to<br /> avoid the null-ptr-deref. To ensure the lsock is not released during the<br /> tipc_topsrv_accept(), move sock_release() after tipc_topsrv_work_stop()<br /> where it&amp;#39;s waiting until the tipc_topsrv_accept worker to be done.<br /> <br /> Note that sk_callback_lock is used to protect sk-&gt;sk_user_data instead of<br /> srv-&gt;listener, and it should check srv in tipc_topsrv_listener_data_ready()<br /> instead. This also ensures that no more tipc_topsrv_accept worker will be<br /> started after tipc_conn_close() is called in tipc_topsrv_stop() where it<br /> sets sk-&gt;sk_user_data to null.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.17 (including) 4.19.264 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (including) 5.4.223 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.153 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.77 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.0.7 (excluding)
cpe:2.3:o:linux:linux_kernel:6.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.1:rc2:*:*:*:*:*:*