-

CVE-2026-74692

net/smc: fix TOCTOU race between smc_listen_out() and listener close

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

net/smc: fix TOCTOU race between smc_listen_out() and listener close

smc_listen_out() reads lsmc->sk.sk_state without the listener lock,
then acquires lock_sock_nested() only after the check passes. This
opens a window where smc_close_active() can transition the listener
to SMC_CLOSED, call smc_close_cleanup_listen() to drain the accept
queue, and release the lock, all between the lockless read and the
delayed lock acquisition:

  smc_listen_work (smc_hs_wq)          smc_close_active()
  -------------------------------      -------------------------
  release_sock(child)
  if (sk_state == SMC_LISTEN) TRUE
                                        lock_sock(listener)
                                        sk_state = SMC_CLOSED
                                        smc_close_cleanup_listen()
                                        release_sock(listener)
                                        flush_work(tcp_listen_work)
  lock_sock_nested(listener)
  smc_accept_enqueue(listener, child) /* child enqueued on dead listener */

smc_close_active() flushes only tcp_listen_work. Work items already
dispatched onto smc_hs_wq for the CLC handshake continue running
unguarded. smc_accept_enqueue() takes a sock_hold() on the child that
is never released, so the child smc_sock, its clcsock, and the
reference all leak. A remote peer that opens TCP connections while the
server calls close() can exhaust kernel memory.

Move lock_sock_nested() to before the sk_state check so that the test
and the enqueue are atomic under the listener lock.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
Produkt Linux
Default Statusunaffected
Version fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9
Version < 53c7938d8bcfde3296ec1a347ba2a9393c1fdcfa
Status affected
Version fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9
Version < feb71634bb1abab3e8fb5cde874b27001cc1282e
Status affected
Version fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9
Version < 01865e1ddb126b25ac9eba5cdd7ec49e11183a64
Status affected
Version fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9
Version < 00f89433777236ced4771211047fb5d4cd581cea
Status affected
Version fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9
Version < 78e5ebcd1c10ed7c8bda0a99e0abd5b62da86d67
Status affected
Version fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9
Version < ff5bcd804b5bc5c64736b7d318c20e12ea9506b8
Status affected
Version fd57770dd198f5b2ddd5b9e6bf282cf98d63adb9
Version < 185a4caeecabc150106deda1da170b09f2ad803f
Status affected
Version d1d004585b40c212b338fc8a40cbaaf230ea4703
Status affected
Version 4.19.299
Version < 4.20
Status affected
HerstellerLinux
Produkt Linux
Default Statusaffected
Version 5.1
Status affected
Version 0
Version < 5.1
Status unaffected
Version <= 5.15.*
Version 5.15.216
Status unaffected
Version <= 6.1.*
Version 6.1.183
Status unaffected
Version <= 6.6.*
Version 6.6.152
Status unaffected
Version <= 6.12.*
Version 6.12.104
Status unaffected
Version <= 6.18.*
Version 6.18.45
Status unaffected
Version <= 7.1.*
Version 7.1.9
Status unaffected
Version <= *
Version 7.2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.17% 0.067
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/00f89433777236ced4771211047fb5d4cd581cea
https://git.kernel.org/stable/c/01865e1ddb126b25ac9eba5cdd7ec49e11183a64
https://git.kernel.org/stable/c/185a4caeecabc150106deda1da170b09f2ad803f
https://git.kernel.org/stable/c/53c7938d8bcfde3296ec1a347ba2a9393c1fdcfa
https://git.kernel.org/stable/c/78e5ebcd1c10ed7c8bda0a99e0abd5b62da86d67
https://git.kernel.org/stable/c/feb71634bb1abab3e8fb5cde874b27001cc1282e
https://git.kernel.org/stable/c/ff5bcd804b5bc5c64736b7d318c20e12ea9506b8