Skip to content
Heist/ feed
Back to feed
CriticalFix available

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

Type: advisorySources: OSV

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.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.10.265, 5.15.216, 6.1.183, 6.12.103, 6.18.44, 6.6.151, 7.1.8
CVEs
CVE-2026-74493
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 01:33 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 15 Aug 2026, 12:27 UTC

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.

osv:CVE-2026-74493

Kernel

Fixed versions: 5.10.265, 5.15.216, 6.1.183, 6.6.151, 6.12.103, 6.18.44, 7.1.8

Complete source record
{
  "id": "719c9fd3c2737f0d5b8a29afab5fb9ea3c4ea68414c4d289f3c59111558338d6",
  "url": "https://osv.dev/vulnerability/CVE-2026-74493",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "net/smc: fix socket use-after-free during link group termination",
    "summary": "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.",
    "evidence": "osv:CVE-2026-74493",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.10.265",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.216",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.183",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.151",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.103",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.44",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.1.8",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-74493",
      "aliases": [
        "CVE-2026-74493"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "69318b5215f2dc32c345a3d65b98b4b1bf29c007"
                },
                {
                  "fixed": "ff44f2df57fb5560bdc75eb977867643e764a262"
                },
                {
                  "fixed": "9fb17c95b8f0683570fca1fb2792264147af937a"
                },
                {
                  "fixed": "bea8dc14de2d56aca749d368563e6888217710a5"
                },
                {
                  "fixed": "5a42f162b857019a4c10ff687dc3bcdf51831865"
                },
                {
                  "fixed": "281c103a8eaed59001ce952f231df1b07674215a"
                },
                {
                  "fixed": "f807a63d0d95680c34f677700da9148a07d7c78f"
                },
                {
                  "fixed": "f0541a775d04c88e90ba448e35ce0d743512822a"
                },
                {
                  "fixed": "f621d6ebeebb6374342571e4ddf45fdbc420f6cd"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74493.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.5.0"
                },
                {
                  "fixed": "5.10.265"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.216"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.183"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.151"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.12.103"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.44"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.1.8"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74493.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:25.052765462Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/281c103a8eaed59001ce952f231df1b07674215a",
        "https://git.kernel.org/stable/c/5a42f162b857019a4c10ff687dc3bcdf51831865",
        "https://git.kernel.org/stable/c/9fb17c95b8f0683570fca1fb2792264147af937a",
        "https://git.kernel.org/stable/c/bea8dc14de2d56aca749d368563e6888217710a5",
        "https://git.kernel.org/stable/c/f0541a775d04c88e90ba448e35ce0d743512822a",
        "https://git.kernel.org/stable/c/f621d6ebeebb6374342571e4ddf45fdbc420f6cd",
        "https://git.kernel.org/stable/c/f807a63d0d95680c34f677700da9148a07d7c78f",
        "https://git.kernel.org/stable/c/ff44f2df57fb5560bdc75eb977867643e764a262",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74493.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-74493",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74493.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-74493",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 491672,
  "published_at": "2026-08-15T12:27:21.98+00:00"
}