CVE-2026-74493

net/smc: fix socket use-after-free during link group termination

State
Published
Severity
9.8 Critical
Published
Aug 15, 2026
Updated
Oct 16, 2026
Reserved
Aug 15, 2026

Read the record on cve.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.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 69318b5215f2dc32c345a3d65b98b4b1bf29c007 to before ff44f2df57fb5560bdc75eb977867643e764a262Affected
  • 69318b5215f2dc32c345a3d65b98b4b1bf29c007 to before 9fb17c95b8f0683570fca1fb2792264147af937aAffected
  • 69318b5215f2dc32c345a3d65b98b4b1bf29c007 to before bea8dc14de2d56aca749d368563e6888217710a5Affected
  • 69318b5215f2dc32c345a3d65b98b4b1bf29c007 to before 5a42f162b857019a4c10ff687dc3bcdf51831865Affected
  • 69318b5215f2dc32c345a3d65b98b4b1bf29c007 to before 281c103a8eaed59001ce952f231df1b07674215aAffected
  • 69318b5215f2dc32c345a3d65b98b4b1bf29c007 to before f807a63d0d95680c34f677700da9148a07d7c78fAffected
  • 69318b5215f2dc32c345a3d65b98b4b1bf29c007 to before f0541a775d04c88e90ba448e35ce0d743512822aAffected
  • 69318b5215f2dc32c345a3d65b98b4b1bf29c007 to before f621d6ebeebb6374342571e4ddf45fdbc420f6cdAffected
LinuxLinux
  • 5.5Affected
  • before 5.5Not affected
  • 5.10.265 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.151 through 6.6.*Not affected
  • 6.12.103 through 6.12.*Not affected
  • 6.18.44 through 6.18.*Not affected
  • 7.1.8 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.