CVE-2022-50555CWE-476

CVE-2022-50555

High · published October 7, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
11.3
In the wild
Unconfirmed
What it is

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

tipc: fix a null-ptr-deref in tipc_topsrv_accept

syzbot found a crash in tipc_topsrv_accept:

KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]

Workqueue: tipc_rcv tipc_topsrv_accept

RIP: 0010:kernel_accept+0x22d/0x350 net/socket.c:3487

Call Trace:

<TASK>

tipc_topsrv_accept+0x197/0x280 net/tipc/topsrv.c:460

process_one_work+0x991/0x1610 kernel/workqueue.c:2289

worker_thread+0x665/0x1080 kernel/workqueue.c:2436

kthread+0x2e4/0x3a0 kernel/kthread.c:376

ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306

It was caused by srv->listener that might be set to null by

tipc_topsrv_stop() in net .exit whereas it's still used in

tipc_topsrv_accept() worker.

srv->listener is protected by srv->idr_lock in tipc_topsrv_stop(), so add

a check for srv->listener under srv->idr_lock in tipc_topsrv_accept() to

avoid the null-ptr-deref. To ensure the lsock is not released during the

tipc_topsrv_accept(), move sock_release() after tipc_topsrv_work_stop()

where it's waiting until the tipc_topsrv_accept worker to be done.

Note that sk_callback_lock is used to protect sk->sk_user_data instead of

srv->listener, and it should check srv in tipc_topsrv_listener_data_ready()

instead. This also ensures that no more tipc_topsrv_accept worker will be

started after tipc_conn_close() is called in tipc_topsrv_stop() where it

sets sk->sk_user_data to null.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00215 · 11.3th percentile
Weakness
CWE-476 · NULL Pointer Dereference
Published
2025-10-07T20:15Z
Affected products (7)
ProductVersionsFixed in
linux/linux_kernel≥ 4.17, < 4.19.2644.19.264
linux/linux_kernel≥ 4.20, < 5.4.2235.4.223
linux/linux_kernel≥ 5.5, < 5.10.1535.10.153
linux/linux_kernel≥ 5.11, < 5.15.775.15.77
linux/linux_kernel≥ 5.16, < 6.0.76.0.7
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (6)
EPSS history
Timeline
  • 07 OCT 15:21Z
    tipc: fix a null-ptr-deref in tipc_topsrv_accept
    cvelistv5