CVE-2026-99032
net/smc: protect clcsock lifetime in smc_getname
Fetching some sources has been requested. Reload in about a minute to see them.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack conditions and impact
Derived from the CNA (via NVD) CVSS 3.1 vector| Metric | Value | Meaning |
|---|---|---|
| Attack vector AV | L | Local |
| Attack complexity AC | L | Low (easy) |
| Privileges required PR | L | Regular user |
| User interaction UI | N | None |
| Scope S | U | Unchanged |
| Confidentiality C | H | High |
| Integrity I | H | High |
| Availability A | H | High |
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Description
In the Linux kernel, the following vulnerability has been resolved: net/smc: protect clcsock lifetime in smc_getname smc_getname() dereferences smc->clcsock without holding clcsock_release_lock. Link-group termination can release the CLC socket through smc_close_active_abort() while the SMC socket is still open, for example after shutdown(SHUT_WR). A getsockname() caller can load smc->clcsock, then the termination worker can clear the pointer and call sock_release() before the caller accesses clcsock->ops or invokes getname(). This causes a use-after-free; if the worker clears the pointer before the load, it causes a NULL dereference. The syscall's file reference keeps the SMC socket alive but does not prevent asynchronous release of its CLC socket. KASAN reported the following with test-only timing instrumentation: BUG: KASAN: slab-use-after-free in smc_getname+0x19e/0x1b0 Read of size 8 at addr ffff888109abb4e0 by task poc/103 Call Trace: smc_getname+0x19e/0x1b0 do_getsockname+0xe5/0x170 __sys_getsockname+0x8c/0x100 Allocated by task 95: sock_alloc_inode+0x1e/0x280 sock_alloc+0x3d/0x240 __sock_create+0x7e/0x430 smc_create+0x121/0x240 Freed by task 0: kmem_cache_free+0xcc/0x340 rcu_core+0x50a/0x1850 Last potentially related work creation: evict+0x446/0x6c0 smc_clcsock_release+0xa8/0xd0 smc_close_active_abort+0x26a/0x3a0 __smc_lgr_terminate.part.0+0x137/0x2e0 Hold clcsock_release_lock across the pointer check and the getname() callback to serialize with smc_clcsock_release(). Return -EBADF if the CLC socket has already been released, preserving the existing peer state check and the callback's return value otherwise.
CVSS assessments
| Provider | Version | Score | Vector |
|---|---|---|---|
| NVD / 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) | 3.1 | 7.8 HIGH | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| CNA / Linux | 3.1 | 7.8 HIGH | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products and packages
CNA (CVE.org)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | affected: b03faa1fafc8018295401dc558bdc76362d860a4 … < e607017a553d2a48e428ec8b8ffb06bf3bb92ce9 affected: b03faa1fafc8018295401dc558bdc76362d860a4 … < 1512e3714b3946bda75a160a34f22a51710daa43 affected: b03faa1fafc8018295401dc558bdc76362d860a4 … < 6a1833f0d7dc037c8e876b9178ba69d5d107c086 affected: b03faa1fafc8018295401dc558bdc76362d860a4 … < c223da71abfaea2ebb1c7208ae9ebf15038f9388 affected: b03faa1fafc8018295401dc558bdc76362d860a4 … < 64a6b36b0e1855288080bc5f89769f27d6dc03c8 affected: 0b6153d04c96a1d4b6284692386aa21d04d7956c affected: 4.19.299 … < 4.20 default: unaffected |
| Linux | Linux | affected: 5.1 unaffected: 0 … < 5.1 unaffected: 6.6.160 … <= 6.6.* unaffected: 6.12.113 … <= 6.12.* unaffected: 6.18.57 … <= 6.18.* unaffected: 7.2.11 … <= 7.2.* unaffected: 7.3 … <= * default: affected |
Open-source packages (GitHub Advisory / OSV)
net/smc: protect clcsock lifetime in smc_getname
| Ecosystem | Package | Affected versions | Fixed in |
|---|---|---|---|
| >= b03faa1fafc8018295401dc558bdc76362d860a4, < e607017a553d2a48e428ec8b8ffb06bf3bb92ce9; < 1512e3714b3946bda75a160a34f22a51710daa43; < 6a1833f0d7dc037c8e876b9178ba69d5d107c086; < c223da71abfaea2ebb1c7208ae9ebf15038f9388; < 64a6b36b0e1855288080bc5f89769f27d6dc03c8; >= 4.19.299, < 4.20; >= 0b6153d04c96a1d4b6284692386aa21d04d7956c v4.19.325, v4.19.324, v4.19.323, v4.19.322, v4.19.321, v4.19.320, v4.19.319, v4.19.318, v4.19.317, v4.19.316, v4.19.315, v4.19.314, v4.19.313, v4.19.312, v4.19.311, v4.19.310, v4.19.309, v4.19.308, v4.19.307, v4.19.306, … (+7) | e607017a553d2a48e428ec8b8ffb06bf3bb92ce9, 1512e3714b3946bda75a160a34f22a51710daa43, 6a1833f0d7dc037c8e876b9178ba69d5d107c086, c223da71abfaea2ebb1c7208ae9ebf15038f9388, 64a6b36b0e1855288080bc5f89769f27d6dc03c8, 4.20 | ||
| Linux | Kernel | >= 5.1.0, < 6.6.160; >= 6.7.0, < 6.12.113; >= 6.13.0, < 6.18.57; >= 6.19.0, < 7.2.11 | 6.6.160, 6.12.113, 6.18.57, 7.2.11 |
Linux distribution status
References (8)
- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git OSV
- https://git.kernel.org/stable/c/1512e3714b3946bda75a160a34f22a51710daa43 NVD, CNA, OSV
- https://git.kernel.org/stable/c/64a6b36b0e1855288080bc5f89769f27d6dc03c8 NVD, CNA, OSV
- https://git.kernel.org/stable/c/6a1833f0d7dc037c8e876b9178ba69d5d107c086 NVD, CNA, OSV
- https://git.kernel.org/stable/c/c223da71abfaea2ebb1c7208ae9ebf15038f9388 NVD, CNA, OSV
- https://git.kernel.org/stable/c/e607017a553d2a48e428ec8b8ffb06bf3bb92ce9 NVD, CNA, OSV
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/99xxx/CVE-2026-99032.json OSV
- https://nvd.nist.gov/vuln/detail/CVE-2026-99032 OSV