* CVE-2026-74493: net/smc: fix socket use-after-free during link group termination
@ 2026-08-15 12:26 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-08-15 12:26 UTC (permalink / raw)
To: linux-cve-announce; +Cc: Greg Kroah-Hartman
From: Greg Kroah-Hartman <gregkh@kernel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
net/smc: fix socket use-after-free during link group termination
__smc_lgr_terminate() drops conns_lock after finding a connection in
lgr->conns_all, but before taking a reference on its socket. The connection
is embedded in the socket, and its registration reference protects it only
while the connection remains in the tree.
A concurrent close can unregister the connection and drop that reference,
freeing the socket before the termination worker reaches sock_hold().
The race is reachable when close overlaps link group termination.
Local stress testing reproduced the use-after-free and KASAN reported:
BUG: KASAN: slab-use-after-free in __smc_lgr_terminate.part.0 [smc]
Write of size 4 by task kworker/3:3
Workqueue: events smc_lgr_terminate_work [smc]
__smc_lgr_terminate.part.0 [smc]
The socket was allocated by smc_create(), freed through
slab_free_after_rcu_debug(), and was followed by:
refcount_t: addition on 0; use-after-free.
__smc_lgr_terminate.part.0 [smc]
Take the socket reference while conns_lock still protects the tree entry.
The unregister path then cannot drop the last reference until termination
has finished using the socket.
The Linux kernel CVE team has assigned CVE-2026-74493 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.5 with commit 69318b5215f2dc32c345a3d65b98b4b1bf29c007 and fixed in 6.6.151 with commit 5a42f162b857019a4c10ff687dc3bcdf51831865
Issue introduced in 5.5 with commit 69318b5215f2dc32c345a3d65b98b4b1bf29c007 and fixed in 6.12.103 with commit 281c103a8eaed59001ce952f231df1b07674215a
Issue introduced in 5.5 with commit 69318b5215f2dc32c345a3d65b98b4b1bf29c007 and fixed in 6.18.44 with commit f807a63d0d95680c34f677700da9148a07d7c78f
Issue introduced in 5.5 with commit 69318b5215f2dc32c345a3d65b98b4b1bf29c007 and fixed in 7.1.8 with commit f0541a775d04c88e90ba448e35ce0d743512822a
Issue introduced in 5.5 with commit 69318b5215f2dc32c345a3d65b98b4b1bf29c007 and fixed in 7.2-rc6 with commit f621d6ebeebb6374342571e4ddf45fdbc420f6cd
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-74493
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
net/smc/smc_core.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/5a42f162b857019a4c10ff687dc3bcdf51831865
https://git.kernel.org/stable/c/281c103a8eaed59001ce952f231df1b07674215a
https://git.kernel.org/stable/c/f807a63d0d95680c34f677700da9148a07d7c78f
https://git.kernel.org/stable/c/f0541a775d04c88e90ba448e35ce0d743512822a
https://git.kernel.org/stable/c/f621d6ebeebb6374342571e4ddf45fdbc420f6cd
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-15 12:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-15 12:26 CVE-2026-74493: net/smc: fix socket use-after-free during link group termination Greg Kroah-Hartman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.