{"api_version":"1","generated_at":"2026-08-16T18:31:52+00:00","cve":"CVE-2026-74493","urls":{"html":"https://cve.report/CVE-2026-74493","api":"https://cve.report/api/cve/CVE-2026-74493.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-74493","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-74493"},"summary":{"title":"net/smc: fix socket use-after-free during link group termination","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/smc: fix socket use-after-free during link group termination\n\n__smc_lgr_terminate() drops conns_lock after finding a connection in\nlgr->conns_all, but before taking a reference on its socket. The connection\nis embedded in the socket, and its registration reference protects it only\nwhile the connection remains in the tree.\n\nA concurrent close can unregister the connection and drop that reference,\nfreeing the socket before the termination worker reaches sock_hold().\n\nThe race is reachable when close overlaps link group termination.\nLocal stress testing reproduced the use-after-free and KASAN reported:\n\n  BUG: KASAN: slab-use-after-free in __smc_lgr_terminate.part.0 [smc]\n  Write of size 4 by task kworker/3:3\n  Workqueue: events smc_lgr_terminate_work [smc]\n  __smc_lgr_terminate.part.0 [smc]\n\nThe socket was allocated by smc_create(), freed through\nslab_free_after_rcu_debug(), and was followed by:\n\n  refcount_t: addition on 0; use-after-free.\n  __smc_lgr_terminate.part.0 [smc]\n\nTake the socket reference while conns_lock still protects the tree entry.\nThe unregister path then cannot drop the last reference until termination\nhas finished using the socket.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-15 13:17:54","updated_at":"2026-08-15 13:17:54"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/281c103a8eaed59001ce952f231df1b07674215a","name":"https://git.kernel.org/stable/c/281c103a8eaed59001ce952f231df1b07674215a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/5a42f162b857019a4c10ff687dc3bcdf51831865","name":"https://git.kernel.org/stable/c/5a42f162b857019a4c10ff687dc3bcdf51831865","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f807a63d0d95680c34f677700da9148a07d7c78f","name":"https://git.kernel.org/stable/c/f807a63d0d95680c34f677700da9148a07d7c78f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f0541a775d04c88e90ba448e35ce0d743512822a","name":"https://git.kernel.org/stable/c/f0541a775d04c88e90ba448e35ce0d743512822a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f621d6ebeebb6374342571e4ddf45fdbc420f6cd","name":"https://git.kernel.org/stable/c/f621d6ebeebb6374342571e4ddf45fdbc420f6cd","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-74493","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-74493","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 69318b5215f2dc32c345a3d65b98b4b1bf29c007 5a42f162b857019a4c10ff687dc3bcdf51831865 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 69318b5215f2dc32c345a3d65b98b4b1bf29c007 281c103a8eaed59001ce952f231df1b07674215a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 69318b5215f2dc32c345a3d65b98b4b1bf29c007 f807a63d0d95680c34f677700da9148a07d7c78f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 69318b5215f2dc32c345a3d65b98b4b1bf29c007 f0541a775d04c88e90ba448e35ce0d743512822a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 69318b5215f2dc32c345a3d65b98b4b1bf29c007 f621d6ebeebb6374342571e4ddf45fdbc420f6cd git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.5","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.5 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.151 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.103 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.44 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.8 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc6 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/smc/smc_core.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"5a42f162b857019a4c10ff687dc3bcdf51831865","status":"affected","version":"69318b5215f2dc32c345a3d65b98b4b1bf29c007","versionType":"git"},{"lessThan":"281c103a8eaed59001ce952f231df1b07674215a","status":"affected","version":"69318b5215f2dc32c345a3d65b98b4b1bf29c007","versionType":"git"},{"lessThan":"f807a63d0d95680c34f677700da9148a07d7c78f","status":"affected","version":"69318b5215f2dc32c345a3d65b98b4b1bf29c007","versionType":"git"},{"lessThan":"f0541a775d04c88e90ba448e35ce0d743512822a","status":"affected","version":"69318b5215f2dc32c345a3d65b98b4b1bf29c007","versionType":"git"},{"lessThan":"f621d6ebeebb6374342571e4ddf45fdbc420f6cd","status":"affected","version":"69318b5215f2dc32c345a3d65b98b4b1bf29c007","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/smc/smc_core.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.5"},{"lessThan":"5.5","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.151","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.103","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.44","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.8","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc6","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.151","versionStartIncluding":"5.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.103","versionStartIncluding":"5.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.44","versionStartIncluding":"5.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.8","versionStartIncluding":"5.5","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc6","versionStartIncluding":"5.5","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/smc: fix socket use-after-free during link group termination\n\n__smc_lgr_terminate() drops conns_lock after finding a connection in\nlgr->conns_all, but before taking a reference on its socket. The connection\nis embedded in the socket, and its registration reference protects it only\nwhile the connection remains in the tree.\n\nA concurrent close can unregister the connection and drop that reference,\nfreeing the socket before the termination worker reaches sock_hold().\n\nThe race is reachable when close overlaps link group termination.\nLocal stress testing reproduced the use-after-free and KASAN reported:\n\n  BUG: KASAN: slab-use-after-free in __smc_lgr_terminate.part.0 [smc]\n  Write of size 4 by task kworker/3:3\n  Workqueue: events smc_lgr_terminate_work [smc]\n  __smc_lgr_terminate.part.0 [smc]\n\nThe socket was allocated by smc_create(), freed through\nslab_free_after_rcu_debug(), and was followed by:\n\n  refcount_t: addition on 0; use-after-free.\n  __smc_lgr_terminate.part.0 [smc]\n\nTake the socket reference while conns_lock still protects the tree entry.\nThe unregister path then cannot drop the last reference until termination\nhas finished using the socket."}],"providerMetadata":{"dateUpdated":"2026-08-15T12:27:21.980Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/5a42f162b857019a4c10ff687dc3bcdf51831865"},{"url":"https://git.kernel.org/stable/c/281c103a8eaed59001ce952f231df1b07674215a"},{"url":"https://git.kernel.org/stable/c/f807a63d0d95680c34f677700da9148a07d7c78f"},{"url":"https://git.kernel.org/stable/c/f0541a775d04c88e90ba448e35ce0d743512822a"},{"url":"https://git.kernel.org/stable/c/f621d6ebeebb6374342571e4ddf45fdbc420f6cd"}],"title":"net/smc: fix socket use-after-free during link group termination","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-74493","datePublished":"2026-08-15T12:27:21.980Z","dateReserved":"2026-08-15T05:44:03.906Z","dateUpdated":"2026-08-15T12:27:21.980Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-15 13:17:54","lastModifiedDate":"2026-08-15 13:17:54","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"74493","Ordinal":"1","Title":"net/smc: fix socket use-after-free during link group termination","CVE":"CVE-2026-74493","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"74493","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/smc: fix socket use-after-free during link group termination\n\n__smc_lgr_terminate() drops conns_lock after finding a connection in\nlgr->conns_all, but before taking a reference on its socket. The connection\nis embedded in the socket, and its registration reference protects it only\nwhile the connection remains in the tree.\n\nA concurrent close can unregister the connection and drop that reference,\nfreeing the socket before the termination worker reaches sock_hold().\n\nThe race is reachable when close overlaps link group termination.\nLocal stress testing reproduced the use-after-free and KASAN reported:\n\n  BUG: KASAN: slab-use-after-free in __smc_lgr_terminate.part.0 [smc]\n  Write of size 4 by task kworker/3:3\n  Workqueue: events smc_lgr_terminate_work [smc]\n  __smc_lgr_terminate.part.0 [smc]\n\nThe socket was allocated by smc_create(), freed through\nslab_free_after_rcu_debug(), and was followed by:\n\n  refcount_t: addition on 0; use-after-free.\n  __smc_lgr_terminate.part.0 [smc]\n\nTake the socket reference while conns_lock still protects the tree entry.\nThe unregister path then cannot drop the last reference until termination\nhas finished using the socket.","Type":"Description","Title":"net/smc: fix socket use-after-free during link group termination"}]}}}