CVE-2022-50555

tipc: fix a null-ptr-deref in tipc_topsrv_accept

MEDIUM
5.5
CVSS Score
Published: October 7, 2025 at 03:21 PM UTC
Updated: August 5, 2026 at 09:24 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.17 ≤ v < 4.19.2644.17 ≤ v < 5.10.1534.17 ≤ v < 5.15.774.17 ≤ v < 5.4.2234.17 ≤ v < 6.0.74.17 ≤ v < 6.14.20 ≤ v < 5.4.2235.11 ≤ v < 5.15.775.16 ≤ v < 6.0.75.5 ≤ v < 5.10.1530ef897be12b8b4cf297b6016e79ec97ec90f2cf66.1 rc16.1 rc2
Vendor states this is fixed in 24b129aed8730e48f47d852d58d76825ab6f407c (fixed)
Vendor states this is fixed in 32a3d4660b34ce49ac0162338ebe362098e2f5df (fixed)
Vendor states this is fixed in 7a939503fc32bff4ed60800b73ff7fbb4aea2142 (fixed)
Vendor states this is fixed in 82cb4e4612c633a9ce320e1773114875604a3cce (fixed)
Vendor states this is fixed in ce69bdac2310152bb70845024d5d704c52aabfc3 (fixed)
Vendor states this is fixed in cedb41664e27b2cae7e21487f1bee22dcd84037d (fixed)
Vendor states this is fixed in 4.17 (unaffected)
Vendor states this is fixed in 4.19.264 (unaffected)
Vendor states this is fixed in 5.10.153 (unaffected)
Vendor states this is fixed in 5.15.77 (unaffected)
Vendor states this is fixed in 5.4.223 (unaffected)
Vendor states this is fixed in 6.0.7 (unaffected)
Vendor states this is fixed in 6.1 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card